Hướng dẫn python pass raw string as argument - python chuyển chuỗi thô làm đối số
Tôi muốn chuyển trong một chuỗi vào tập lệnh Python của tôi có chứa các chuỗi thoát như: 3 hoặc 4 và không gian. Tuy nhiên khi tôi vượt qua chuỗi của mình như:However when I pass in my string as: Show
Python coi chuỗi của tôi là một chuỗi thô và khi tôi in chuỗi đó từ bên trong tập lệnh, nó in chuỗi theo nghĩa đen và nó không coi 5 là một chuỗi thoát. tức là nó in chính xác chuỗi trên.i.e. it prints exactly the string above. Cập nhật: (Một lần nữa) Tôi đang sử dụng Python 2.7.5 để sao chép, tạo tập lệnh, hãy gọi nó là 6:
Bây giờ hãy lưu nó và gọi nó từ dấu nhắc lệnh Windows như vậy:
Kết quả tôi nhận được là:
P.S Trong tập lệnh thực tế của tôi, tôi đang sử dụng trình phân tích cú pháp tùy chọn, nhưng cả hai đều có cùng một hiệu ứng. Có lẽ có một tham số tôi có thể đặt cho trình phân tích cú pháp tùy chọn để xử lý các chuỗi thoát? Chuỗi RAW Python được tạo bằng tiền tố một chuỗi theo nghĩa đen với ‘r, hoặc‘ r. Chuỗi thô Python coi Backslash (\) là một ký tự theo nghĩa đen. Điều này rất hữu ích khi chúng tôi muốn có một chuỗi chứa dấu gạch chéo ngược và don không muốn nó được coi là một nhân vật thoát. Chuỗi Raw PythonHãy nói rằng chúng tôi muốn tạo một chuỗi hi \ nhello trong Python. Nếu chúng ta cố gắng gán nó cho một chuỗi bình thường, \ n sẽ được coi là một dòng mới.Hi\nHello in python. If we try to assign it to a normal string, the \n will be treated as a new line.
Đầu ra:
Hãy cùng xem chuỗi RAW giúp chúng ta coi việc đánh dấu dấu gạch chéo ngược như một nhân vật bình thường như thế nào.
Đầu ra: 7 Hãy cùng xem một ví dụ khác trong đó nhân vật theo sau là dấu gạch chéo ngược không có ý nghĩa đặc biệt nào.
Chúng tôi đã gặp lỗi vì Python không biết cách giải mã ‘\ x, vì nó không có ý nghĩa đặc biệt nào. Hãy để xem cách chúng ta có thể tạo cùng một chuỗi bằng các chuỗi thô.
Nếu bạn đang ở trên bảng điều khiển Python và tạo một chuỗi thô như dưới đây.
Don Tiết bị nhầm lẫn với đầu ra có hai dấu gạch chéo ngược. Nó chỉ để hiển thị nó như một chuỗi Python bình thường, trong đó dấu gạch chéo ngược đang bị thoát ra. Chuỗi và trích dẫn Python RawKhi một dấu gạch chéo ngược được theo sau bởi một trích dẫn trong một chuỗi thô, nó đã thoát ra. Tuy nhiên, dấu gạch chéo ngược cũng vẫn còn trong kết quả. Vì tính năng này, chúng tôi có thể tạo ra một chuỗi RAW của dấu gạch chéo ngược. Ngoài ra, một chuỗi thô có thể có một số ít các dấu gạch chéo ngược ở cuối. Một số chuỗi thô không hợp lệ là: 0Hãy cùng xem xét một số ví dụ chuỗi thô hợp lệ với các trích dẫn. 1Output: 2Đó là tất cả để giới thiệu nhanh chuỗi Raw Python. Bạn có thể kiểm tra toàn bộ tập lệnh Python và nhiều ví dụ về Python từ Kho lưu trữ GitHub của chúng tôi.
Muốn tìm hiểu thêm? Tham gia cộng đồng DigitalOcean!Tham gia cộng đồng DigitalOcean của chúng tôi miễn phí hơn một triệu nhà phát triển! Nhận trợ giúp và chia sẻ kiến thức trong phần Câu hỏi & Câu trả lời của chúng tôi, tìm hướng dẫn và công cụ sẽ giúp bạn phát triển như một nhà phát triển và mở rộng quy mô dự án hoặc doanh nghiệp của bạn, và đăng ký các chủ đề quan tâm. Đăng ký Trong Python, các chuỗi có tiền tố với 8 hoặc 9, chẳng hạn như 0 và 1, được gọi là các chuỗi thô và coi dấu gạch chéo ngược 5 là ký tự theo nghĩa đen. Chuỗi thô rất hữu ích khi xử lý các chuỗi sử dụng nhiều dấu gạch chéo ngược, chẳng hạn như đường dẫn Windows và các mẫu biểu thức thông thường.Bài viết này mô tả các nội dung sau đây.
Trình tự thoátChuỗi thô coi dấu gạch chéo ngược như các ký tự theo nghĩa đen
3Chuỗi thô coi dấu gạch chéo ngược như các ký tự theo nghĩa đenChuyển đổi chuỗi bình thường thành chuỗi thô với 3 4Chuỗi thô không thể kết thúc bằng một số ít các dấu gạch chéo ngược 5Trong Python, các ký tự không thể được biểu diễn trong một chuỗi bình thường (chẳng hạn như các tab, nguồn cấp dữ liệu., V.v.) được mô tả bằng cách sử dụng chuỗi thoát với dấu gạch chéo ngược 5 (như 4 hoặc 6), tương tự như ngôn ngữ C.
6Các chuỗi có tiền tố với c:\Python27\python.exe myscript.py "abcd \x00 abcd" 8 hoặc c:\Python27\python.exe myscript.py "abcd \x00 abcd" 9, chẳng hạn như > 'abcd \x00 abcd' 0 và > 'abcd \x00 abcd' 1, được gọi là chuỗi thô và coi dấu gạch chéo ngược c:\Python27\python.exe myscript.py "abcd \x00 abcd" 5 là ký tự nghĩa đen. Trong các chuỗi thô, các chuỗi thoát không được đối xử đặc biệt.Không có loại đặc biệt cho chuỗi thô; Nó chỉ là một chuỗi, tương đương với một chuỗi thông thường với các dấu gạch chéo ngược được biểu thị bằng 2.Trong một chuỗi bình thường, một chuỗi thoát được coi là một ký tự, nhưng trong một chuỗi thô, các dấu gạch chéo ngược cũng được tính là ký tự. 7Nhận độ dài của một chuỗi (số lượng ký tự) trong Python 8Chuyển đổi chuỗi bình thường thành chuỗi thô với > 'abcd \x00 abcd' 3Chuỗi thô không thể kết thúc bằng một số ít các dấu gạch chéo ngược
92. Phân tích từ vựng - Chuỗi và byte theo nghĩa đen - Python 3.9.7 Tài liệu 0Các chuỗi có tiền tố với 8 hoặc 9, chẳng hạn như 0 và 1, được gọi là chuỗi thô và coi dấu gạch chéo ngược 5 là ký tự nghĩa đen. Trong các chuỗi thô, các chuỗi thoát không được đối xử đặc biệt. 1Chuỗi thô không thể kết thúc bằng một số ít các dấu gạch chéo ngượcTrong Python, các ký tự không thể được biểu diễn trong một chuỗi bình thường (chẳng hạn như các tab, nguồn cấp dữ liệu., V.v.) được mô tả bằng cách sử dụng chuỗi thoát với dấu gạch chéo ngược 5 (như 4 hoặc 6), tương tự như ngôn ngữ C.
2
Làm thế nào để bạn vượt qua một chuỗi thô trong Python?Chuỗi RAW Python được tạo bằng tiền tố một chuỗi theo nghĩa đen với 'r' hoặc 'r'. Chuỗi thô Python coi Backslash (\) là một ký tự theo nghĩa đen. Điều này rất hữu ích khi chúng tôi muốn có một chuỗi chứa dấu gạch chéo ngược và không muốn nó được coi là một nhân vật thoát.prefixing a string literal with 'r' or 'R'. Python raw string treats backslash (\) as a literal character. This is useful when we want to have a string that contains backslash and don't want it to be treated as an escape character.
\ R làm gì trong Python?Trong các chuỗi Python, dấu gạch chéo ngược "\" là một nhân vật đặc biệt, còn được gọi là nhân vật "Escape". Nó được sử dụng để thể hiện các ký tự khoảng trắng nhất định: "\ t" là một tab, "\ n" là một dòng mới và "\ r" là một sự trở lại vận chuyển. Ngược lại, tiền tố một ký tự đặc biệt với "\" biến nó thành một ký tự thông thường.carriage return. Conversely, prefixing a special character with "\" turns it into an ordinary character.
Chuỗi thô trong Python Regex là gì?Theo tài liệu Python, ký hiệu chuỗi thô (R "văn bản") giữ các biểu thức thường xuyên có ý nghĩa và không nhầm lẫn.Nếu không có nó, mọi dấu gạch chéo ngược ('\') trong một biểu thức thông thường sẽ phải được đặt trước với một biểu thức khác để thoát khỏi nó.Ví dụ: hai dòng mã sau đây có chức năng giống hệt nhau - >>> re.keeps regular expressions meaningful and confusion-free. Without it, every backslash ('\') in a regular expression would have to be prefixed with another one to escape it. For example, the two following lines of code are functionally identical − >>> re.
Làm thế nào chúng ta có thể làm cho một tab chuỗi thành một chuỗi thô?Chuỗi thô theo nghĩa đen trong c ++ \ n được sử dụng để trả con trỏ cho dòng tiếp theo, \ t tạo một tab, v.v. Nếu chúng ta muốn in các ký tự này vào đầu ra mà không thấy hiệu ứng của chúng, chúng ta có thể sử dụng chuỗi thôcách thức.Để tạo một chuỗi vào chuỗi RAW, chúng ta phải thêm "r" trước chuỗi.add "R" before the string. |