Python open()提供IOError:Errno 2没有这样的文件或目录

发布于 2021-02-02 23:16:01

由于某些原因,我的代码无法打开简单文件:

这是代码:

file1 = open('recentlyUpdated.yaml')

错误是:

IOError: [Errno 2] No such file or directory: 'recentlyUpdated.yaml'
  • 自然地,我检查了这是文件的正确名称。
  • 我尝试在文件中四处移动,提供文件open()的完整路径,但似乎都不起作用。
关注者
0
被浏览
80
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。
    • 确保文件存在:用于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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看