在python 2.7中打开文件的正确方法是什么?

1 python python-2.7

我正在尝试在IDLE中打开一个txt文件,但它给了我一个错误.我无法弄清楚我的文件名中的f会发生什么,或者为什么单个'\'在错误消息中变为double.

>>>f=open('D:\programs\python 2.7.10\programs\foo.txt','r')

Traceback (most recent call last):
  File "<pyshell#94>", line 1, in <module>
    f=open('D:\programs\python 2.7.10\programs\foo.txt','r')
IOError: [Errno 22] invalid mode ('r') or filename: 'D:\\programs\\python 2.7.10\\programs\x0coo.txt'
Run Code Online (Sandbox Code Playgroud)

Jon*_*nts 8

反斜杠用于转义序列 - 在您的情况下,罪魁祸首是\f换页符.您还可以在现代Windows系统上使用正斜杠以及替代方法.

使用原始字符串:

f=open(r'D:\programs\python 2.7.10\programs\foo.txt','r')
Run Code Online (Sandbox Code Playgroud)

理想情况下,您应该使用该with语句,以便在出现异常或with块退出时自动关闭文件,例如:

with open(r'D:\programs\python 2.7.10\programs\foo.txt','r') as f:
    # do stuff with `f`
Run Code Online (Sandbox Code Playgroud)