Hướng dẫn how do you convert a string variable to a raw string in python? - làm thế nào để bạn chuyển đổi một biến chuỗi thành một chuỗi thô trong python?

84

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang cố gắng tìm cách in một chuỗi ở dạng thô từ một biến. Chẳng hạn, nếu tôi thêm một biến môi trường vào Windows cho một đường dẫn, có thể trông giống như

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
5, tôi biết tôi có thể làm:

print[r'C:\\Windows\Users\alexb\']

Nhưng tôi không thể đặt một

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
6 trước một biến .... ví dụ::

test = 'C:\\Windows\Users\alexb\'
print[rtest]

Rõ ràng sẽ chỉ cố gắng in

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
7.

Tôi cũng biết có

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]

Nhưng điều này trả về

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
8 cũng như

test = 'C:\\Windows\Users\alexb\'
print[test.encode['string-escape']]

Vì vậy, tôi đang tự hỏi nếu có bất kỳ cách thanh lịch nào để tạo một biến giữ đường dẫn đó in thô, vẫn đang sử dụng bài kiểm tra? Sẽ thật tuyệt nếu nó chỉ là

print[raw[test]]

Nhưng nó không

David Buck

3.60033 huy hiệu vàng29 Huy hiệu bạc34 Huy hiệu đồng33 gold badges29 silver badges34 bronze badges

Đã hỏi ngày 9 tháng 9 năm 2013 lúc 21:29Sep 9, 2013 at 21:29

2

Tôi đã có một vấn đề tương tự và tình cờ thấy câu hỏi này, và biết nhờ câu trả lời của Nick Olson-Harris rằng giải pháp nằm ở việc thay đổi chuỗi.

Hai cách giải quyết nó:

  1. Nhận đường dẫn bạn muốn sử dụng các hàm Python gốc, ví dụ:

    test = os.getcwd[] # In case the path in question is your current directory
    print[repr[test]]
    

    Điều này làm cho nền tảng độc lập và hiện nó hoạt động với

    test = 'C:\\Windows\Users\alexb\'
    print[repr[test]]
    
    9. Nếu đây là một lựa chọn cho bạn, đó là giải pháp thanh lịch hơn.

  2. Nếu chuỗi của bạn không phải là một đường dẫn, hãy xác định nó theo cách tương thích với các chuỗi Python, trong trường hợp này bằng cách thoát khỏi các dấu gạch chéo ngược của bạn:

    test = 'C:\\Windows\\Users\\alexb\\'
    print[repr[test]]
    

user2357112

243K26 Huy hiệu vàng394 Huy hiệu bạc472 Huy hiệu Đồng26 gold badges394 silver badges472 bronze badges

Đã trả lời ngày 11 tháng 11 năm 2014 lúc 14:53Nov 11, 2014 at 14:53

OlavrgolavrgOlavRG

6926 Huy hiệu bạc4 Huy hiệu đồng6 silver badges4 bronze badges

Nói chung, để tạo một chuỗi thô từ một biến chuỗi, tôi sử dụng điều này:

string = "C:\\Windows\Users\alexb"

raw_string = r"{}".format[string]

output:

'C:\\\\Windows\\Users\\alexb'

Đã trả lời ngày 4 tháng 11 năm 2018 lúc 14:01Nov 4, 2018 at 14:01

3

Bạn không thể biến một chuỗi "RAW" hiện có. Tiền tố

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
6 về nghĩa đen được hiểu bởi trình phân tích cú pháp; Nó bảo nó bỏ qua các chuỗi thoát trong chuỗi. Tuy nhiên, một khi một chuỗi theo nghĩa đen đã được phân tích cú pháp, không có sự khác biệt giữa một chuỗi thô và một chuỗi "thông thường". Ví dụ, nếu bạn có một chuỗi có chứa một dòng mới, không có cách nào để nói vào thời gian chạy liệu dòng mới đó có đến từ chuỗi thoát
test = 'C:\\Windows\Users\alexb\'
print[test.encode['string-escape']]
1, từ một dòng mới theo nghĩa đen trong một chuỗi được trích xuất ba [thậm chí có thể là một chuỗi thô!], Từ Gọi
test = 'C:\\Windows\Users\alexb\'
print[test.encode['string-escape']]
2, bằng cách đọc nó từ một tệp hoặc bất cứ điều gì khác mà bạn có thể đưa ra. Đối tượng chuỗi thực tế được xây dựng từ bất kỳ phương thức nào trông giống nhau.

Đã trả lời ngày 9 tháng 9 năm 2013 lúc 21:45Sep 9, 2013 at 21:45

1

Tôi biết tôi đã quá muộn cho câu trả lời nhưng đối với những người đọc điều này, tôi đã tìm thấy một cách dễ dàng hơn nhiều để làm điều đó

myVariable = 'This string is supposed to be raw \'
print[r'%s' %myVariable]

Đã trả lời ngày 11 tháng 7 năm 2019 lúc 9:26Jul 11, 2019 at 9:26

0

thử cái này. Dựa trên loại đầu ra bạn muốn. Đôi khi bạn có thể không cần báo giá duy nhất xung quanh chuỗi in.

test = 'C:\\Windows\Users\alexb\'
print[rtest]
0

Đã trả lời ngày 10 tháng 8 năm 2020 lúc 1:33Aug 10, 2020 at 1:33

1

Loại bỏ các ký tự thoát trước khi lưu trữ hoặc thao tác với chuỗi thô:

Bạn có thể thay đổi bất kỳ dấu gạch chéo ngược nào của đường dẫn '\' để chuyển tiếp chém '/' trước khi lưu trữ chúng trong một biến. Các chém về phía trước không cần phải thoát ra:

test = 'C:\\Windows\Users\alexb\'
print[rtest]
1

Đã trả lời ngày 10 tháng 3 năm 2016 lúc 15:06Mar 10, 2016 at 15:06

DrawtDrawtDrawT

2324 Huy hiệu bạc6 Huy hiệu Đồng4 silver badges6 bronze badges

Chỉ cần sử dụng r'String '. Hy vọng điều này sẽ giúp bạn khi tôi thấy bạn chưa có câu trả lời mong đợi của bạn:

test = 'C:\\Windows\Users\alexb\'
print[rtest]
2

Đã trả lời ngày 26 tháng 2 năm 2020 lúc 10:29Feb 26, 2020 at 10:29

Một Khangan KhangAn Khang

2412 Huy hiệu bạc8 Huy hiệu đồng2 silver badges8 bronze badges

Tôi có biến của mình được gán cho chuỗi mẫu phức tạp lớn để sử dụng với mô -đun RE và nó được kết hợp với một vài chuỗi khác và cuối cùng tôi muốn in nó sau đó sao chép và kiểm tra trên regex101.com. Nhưng khi tôi in nó ở chế độ tương tác, tôi sẽ bị chém đôi - '\\ w' như @jimmynoarms đã nói:

Giải pháp cho Python 3X:

test = 'C:\\Windows\Users\alexb\'
print[rtest]
3

Đã trả lời ngày 5 tháng 4 năm 2020 lúc 8:31Apr 5, 2020 at 8:31

1

Chuỗi cụ thể của bạn sẽ không hoạt động như được gõ vì các ký tự thoát ở cuối \ ", sẽ không cho phép nó đóng trên trích dẫn.

Có lẽ tôi đã sai về điều đó vì tôi vẫn còn rất mới đối với Python, vì vậy nếu vậy xin vui lòng sửa cho tôi nhưng, thay đổi một chút để điều chỉnh cho điều đó, hàm repr [] sẽ thực hiện công việc tái tạo bất kỳ chuỗi nào được lưu trữ trong một Biến như một chuỗi thô.

Bạn có thể làm theo hai cách:

test = 'C:\\Windows\Users\alexb\'
print[rtest]
4

Lưu trữ nó trong một biến:

test = 'C:\\Windows\Users\alexb\'
print[rtest]
5

Sử dụng repr []:

test = 'C:\\Windows\Users\alexb\'
print[rtest]
6

hoặc thay thế chuỗi bằng %r

test = 'C:\\Windows\Users\alexb\'
print[rtest]
7

Chuỗi sẽ được sao chép với các trích dẫn đơn mặc dù bạn sẽ cần phải loại bỏ chúng sau đó.

Đã trả lời ngày 25 tháng 8 năm 2018 lúc 18:34Aug 25, 2018 at 18:34

Để biến một biến thành RAW STR, chỉ cần sử dụng

test = 'C:\\Windows\Users\alexb\'
print[rtest]
8

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
6 là thô và
test = 'C:\\Windows\Users\alexb\'
print[test.encode['string-escape']]
4 là F-STR; Đặt chúng lại với nhau và bùng nổ nó hoạt động.

Cottectail

4.22118 Huy hiệu vàng18 Huy hiệu bạc35 Huy hiệu đồng18 gold badges18 silver badges35 bronze badges

Đã trả lời ngày 15 tháng 7 lúc 12:19Jul 15 at 12:19

Thay thế Slash Back-Slash bằng Slash về phía trước bằng một trong những điều bên dưới:

  • Re.sub [r "\", "/", x]
  • Re.sub [r "\", "/", x]

Đã trả lời ngày 8 tháng 4 năm 2020 lúc 19:56Apr 8, 2020 at 19:56

Dhgorateladhgorateladhgoratela

5844 Huy hiệu bạc16 Huy hiệu đồng4 silver badges16 bronze badges

Đây là thủ thuật

test = 'C:\\Windows\Users\alexb\'
print[rtest]
9

Đây là bằng chứng

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
0

Và nó có thể dễ dàng ngoại suy thành một chức năng nếu cần

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
1

Đã trả lời ngày 11 tháng 7 năm 2021 lúc 1:57Jul 11, 2021 at 1:57

1

Tôi đã viết một chức năng nhỏ .. nhưng làm việc cho tôi

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
2

Đã trả lời ngày 27 tháng 5 năm 2020 lúc 18:22May 27, 2020 at 18:22

0

Đây là một giải pháp đơn giản.

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
3

print[directory]

test = 'C:\\Windows\Users\alexb\'
print[repr[test]]
4

Đã trả lời ngày 10 tháng 3 năm 2021 lúc 10:42Mar 10, 2021 at 10:42

Làm thế nào để bạn chuyển đổi một biến chuỗi thành RAW trong Python?

Trong Python, khi bạn đặt trước một chuỗi với chữ R hoặc r, chẳng hạn như r '...' và r '...', chuỗi đó trở thành một chuỗi thô. Không giống như một chuỗi thông thường, một chuỗi thô coi các dấu gạch chéo ngược [\] là các ký tự nghĩa đen.when you prefix a string with the letter r or R such as r'...' and R'...' , that string becomes a raw string. Unlike a regular string, a raw string treats the backslashes [ \ ] as literal characters.

Làm thế nào để bạn chuyển đổi một biến thành một chuỗi trong Python?

Chúng ta có thể chuyển đổi số thành chuỗi thông qua sử dụng phương thức str [].Chúng tôi sẽ chuyển một số hoặc một biến vào dấu ngoặc đơn của phương thức và sau đó giá trị số đó sẽ được chuyển đổi thành một giá trị chuỗi.using the str[] method. We'll pass either a number or a variable into the parentheses of the method and then that numeric value will be converted into a string value.

\ 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.carriage return.

Làm thế nào để bạn thay đổi một chuỗi thành một biến?

Chuỗi vào tên biến trong python bằng hàm vars [].Thay vì sử dụng hàm locals [] và toàn cầu [] để chuyển đổi một chuỗi thành một tên biến trong python, chúng ta cũng có thể sử dụng hàm vars [].Hàm Vars [], khi được thực thi trong phạm vi toàn cầu, hoạt động giống như hàm Globals [].Using the vars[] Function. Instead of using the locals[] and the globals[] function to convert a string to a variable name in python, we can also use the vars[] function. The vars[] function, when executed in the global scope, behaves just like the globals[] function.

Bài Viết Liên Quan

Chủ Đề