当前位置: 首页 > 面试题库 >

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

易扬
2023-03-14
问题内容

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

这是代码:

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


 类似资料:
  • 问题内容: 我在Windows中使用Code :: Blocks。 我创建了一个dll项目,试图获得一些JNI实践。 在javah生成的.h文件中,有#include jni.h,但是当我尝试对其进行编译时,它总是说jni.h:没有这样的文件或目录。 我认为这与classpath有关,但我不知道它是什么!可能是我必须更改Code :: Blocks的设置 有人可以帮我解决这个问题吗?非常感谢 编辑

  • 问题内容: 我从节点应用程序收到此错误: 我知道文件在那里,因为当我尝试使用确切的复制和粘贴路径打开文件时,它可以工作。我也知道应用程序使用的是正确的目录,因为它会在错误中输出它。 问题答案: 波浪形扩展是一件空壳的事情。编写正确的路径名(可能是yourusername )或使用

  • 问题内容: 我最近在运行Ubuntu 12.04 LTS的Macbook Pro上安装了用于C ++开发的KDevelop 4。 我想在我的C ++代码中嵌入Python应用程序。为此,需要包含Python.h头文件。所以,我做到了。 但是,在运行时,我从IDE收到以下响应: 但是,我很快就发现了问题。我还没有下载python- dev软件包。所以,我做到了。我又跑了一次,但同样的错误又出现了。因

  • 问题内容: 我在运行docker文件时收到来自docker的错误消息。就是说/ var / lib / docker / aufs / layers / xxxx:运行Docker build时没有这样的文件或目录。 我尝试了多种方法来删除容器和图像,因此我对此非常有兴趣。 任何 Docker文件为: 完整的控制台输出为: 编辑 @BMitchs的建议解决了该问题: rm -rf / var /

  • 我想我没有从源代码正确安装pylint。这是学习python中包如何工作的好机会。 我从源代码中安装了,我可以在我的pip列表中看到它。 我想卸载它并从pypi安装。 但是,我的2个pip是空的,但是当我使用 我得到一个错误 有没有办法删除这个bash命令?Pylint可能是安装了,但我不知道在哪里,或如何删除它? 编辑:正如评论中建议的,我尝试了这个链接查找哪个版本的包安装了pip。这也给了我一

  • 一切正常,uri正在获取图像和路径,但在第二个acitivty返回时,图像不显示在imageView中,并在logcat中显示,请帮助 E/Ashish://storage/emulated/0/pictures/fotoaula/img_20180329_183302.jpg E/bitmapFactory:无法解码流:java.io.fileNotFoundException://storag