我有几个.py文件,我可以在任何地方打开我的文件,除了我的test.py文件(我在那里测试脚本和函数)而不是:
file = open("C:\Users\User\Desktop\key_values.txt", "r")
我需要使用它(用r)来避免错误:
file = open(r"C:\Users\User\Desktop\key_values.txt", "r")
我收到此错误:(当我尝试在test.py脚本中打开没有r的文件时)
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
知道为什么会这样吗?
答案 0 :(得分:4)
Backslash is an escape character,因此您可以添加"\n"
(新行)和"\t"
(制表符)等字符。字符串之前的r
表示"我的反斜杠不是转义字符"。
有趣的是,看起来你的字符串"C:\Users\User\Desktop\key_values.txt"
在python 2中运行正常,因为没有任何反斜杠是看起来像已知转义序列的任何东西的一部分。但是在python 3中,"\Uxxxx"
表示一个unicode字符。所以也许这就是为什么你的一些python文件可以应付而且有些人不能。
答案 1 :(得分:1)
其他答案都没问题......但这是节省时间的伎俩:
尝试使用斜杠而不是反斜杠:
file = open("C:/Users/User/Desktop/key_values.txt", "r")
适用于Windows。尝试使用Python 2.7
希望这有帮助