Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我试图用python打开一个现有文件,但它显示了这个错误_Python - Fatal编程技术网

我试图用python打开一个现有文件,但它显示了这个错误

我试图用python打开一个现有文件,但它显示了这个错误,python,Python,将代码更改为 "C:\Users\ABHINAV\PycharmProjects\hello project\venv\Scripts\python.exe" "C:/Users/ABHINAV/PycharmProjects/hello project/app48.py" File "C:\Users\ABHINAV\PycharmProjects\hello project\app48.py", line 2 file

将代码更改为

"C:\Users\ABHINAV\PycharmProjects\hello project\venv\Scripts\python.exe" "C:/Users/ABHINAV/PycharmProjects/hello project/app48.py"
  File "C:\Users\ABHINAV\PycharmProjects\hello project\app48.py", line 2
    file = open("C:\Users\ABHINAV\Desktop\file22", 'r')
                                                 ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Process finished with exit code 1

这里的问题是您的文件名,即它包含反斜杠字符
\
。标准字符串对转义字符使用反斜杠:
\n
是一个换行符,而不是反斜杠-n。 通过将此文件名转换为原始字符串,可以将其更改为有效的Windows路径字符串: 如果看到前面有字母的带引号的字符串,则该字符串具有不同的属性。字符串前面的“r”表示原始(几乎)未转义的字符串。转义字符是反斜杠,这就是普通字符串不能用作Windows路径字符串的原因。字符串上的r前缀表示“原始字符串”

尝试在文件名前面添加一个
r
,如下所示:

file = open(r"C:\Users\ABHINAV\Desktop\file22", 'r')
或者,您可以使用其他反斜杠来避开反斜杠:

filename = r"C:\Users\ABHINAV\Desktop\file22"
file = open(filename, 'r')
最后,切换到正向斜杠,因为Windows也会接受它们:

filename = "C:\\Users\\ABHINAV\\Desktop\\file22"

一行代码并不是很好的答案,至少解释一下原始代码中的错误以及您建议的更改,以及原因
filename = "C:/Users/ABHINAV/Desktop/file22"