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

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

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

David Buck

3.60433 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

244K26 Huy hiệu vàng398 Huy hiệu bạc477 Huy hiệu đồng26 gold badges398 silver badges477 bronze badges

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

OlavrgolavrgOlavRG

7026 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

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

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

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

Để 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.

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

Cottectail

4.37318 Huy hiệu vàng18 Huy hiệu bạc36 Huy hiệu đồng18 gold badges18 silver badges36 bronze badges

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

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

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

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

Dhgorateladhgorateladhgoratela

6045 Huy hiệu bạc16 Huy hiệu Đồng5 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 tạo một biến số Raw 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'.prefixing a string literal with 'r' or 'R'.

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

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.

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

Tôi có thể chuyển đổi chuỗi thành biến không?

Một phương pháp chuyển đổi số được lưu trữ dưới dạng các chuỗi thành các biến số là sử dụng hàm chuỗi gọi là Real dịch các giá trị số được lưu trữ dưới dạng chuỗi thành các giá trị số Stata có thể nhận ra như vậy.use a string function called real that translates numeric values stored as strings into numeric values Stata can recognize as such.