Python open()提供IOError:Errno 2没有这样的文件或目录
由于某些原因,我的代码无法打开简单文件:
这是代码:
file1 = open('recentlyUpdated.yaml')
错误是:
IOError: [Errno 2] No such file or directory: 'recentlyUpdated.yaml'
- 自然地,我检查了这是文件的正确名称。
- 我尝试在文件中四处移动,提供文件open()的完整路径,但似乎都不起作用。
回答:
- 确保文件存在:用于
os.listdir()
查看当前工作目录中的文件列表 - 确保你位于自己认为所在的目录中
os.getcwd()
(如果从IDE启动代码,则可能位于其他目录中) - 然后,你可以:
- 调用
os.chdir(dir)
,dir
即文件所在的文件夹,然后像以前一样使用文件名打开文件。 - 在open呼叫中指定文件的绝对路径。
- 如果路径使用反斜杠,请记住使用原始字符串,如下所示:
dir = r'C:\Python32'
- 如果不使用原始字符串,则必须转义每个反斜杠:
'C:\\User\\Bob\\...'
- 正斜杠在Windows上也可以使用
'C:/Python32'
,不需要转义。
让我澄清一下Python如何查找文件:
- 一个绝对路径是启动你的计算机的根目录下,例如路径“C:
\
Python的\
脚本..”,如果你使用的是Windows。 - 一个相对路径是不与你的计算机的根目录开始的路径,而是相对的东西称为是
working directory
。你可以通过调用查看Python的当前工作目录os.getcwd()
。如果你尝试这样做
open('sortedLists.yaml')
,Python将看到你正在为其传递相对路径,因此它将在当前工作目录中搜索文件。调用os.chdir
将更改当前的工作目录。
示例:假设在file.txt
中找到了C:\Folder
。
要打开它,你可以执行以下操作:
os.chdir(r'C:\Folder')open('file.txt') #relative path, looks inside the current working directory
要么
open(r'C:\Folder\file.txt') #full path
以上是 Python open()提供IOError:Errno 2没有这样的文件或目录 的全部内容, 来源链接: utcz.com/qa/419933.html