您可以通过这种方式从字符串创建原始字符串:
test_file=open(r'c:\Python27\test.txt','r')
如何从字符串变量创建原始变量,例如
path = 'c:\Python27\test.txt'
test_file=open(rpath,'r')
因为我有一个文件路径:
file_path = "C:\Users\b_zz\Desktop\my_file"
当我这样做时:
data_list = open(os.path.expandvars(file_path),"r").readlines()
我得到:
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
scheduled_data_list = open(os.path.expandvars(file_path),"r").readlines()
IOError: [Errno 22] invalid mode ('r') or filename: 'C:\\Users\x08_zz\\Desktop\\my_file'
最佳答案
一旦在过程中创建了字符串,就没有“原始字符串”这样的东西。 ""
和 r""
指定字符串的方法仅存在于源代码本身。
这意味着 "\x01"
将创建一个由一个字节组成的字符串 0x01
,但是 r"\x01"
将创建一个字符串由 4 个字节组成 '0x5c', '0x78', '0x30', '0x31'
。 (假设我们正在谈论 python 2 并暂时忽略编码)。
您在评论中提到您正在从用户那里获取字符串(无论是 gui 还是控制台输入在这里都一样) - 在这种情况下将不会处理字符串字符转义,因此您无需做任何事情它。您可以像这样轻松地检查它(或者任何等效的 Windows,我只会说 *nix):
% cat > test <<EOF
heredoc> \x41
heredoc> EOF
% < test python -c "import sys; print sys.stdin.read()"
\x41
关于python - 如何从 python 中的字符串变量创建原始字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21605526/