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
希望对您有所帮助
我有几个 .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
希望对您有所帮助