Python - 打开文件时必须添加 r

Python - Must add r when opening a file

我有几个 .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

知道为什么会这样吗?

Backslash is an escape character,因此您可以包含 "\n"(新行)和 "\t"(制表符)等字符。字符串前的r表示"my backslashes are not escape characters".

有趣的是,看起来您的字符串 "C:\Users\User\Desktop\key_values.txt" 在 python 2 中工作正常,因为反斜杠的 none 是任何看起来像已知转义序列的部分。但是在python3中,"\Uxxxx"表示一个unicode字符。所以也许这就是为什么您的一些 python 文件可以应付而有些不能的原因。

其他答案都可以..但这是一个节省时间的技巧:

尝试使用斜杠代替反斜杠:

file = open("C:/Users/User/Desktop/key_values.txt", "r")

它适用于 Windows。尝试使用 Python 2.7

希望对您有所帮助