【问题标题】:FileNotFoundError: [Errno 2] No such file or directory althoguh the file exists [duplicate]FileNotFoundError:[Errno 2]没有这样的文件或目录尽管该文件存在[重复]
【发布时间】:2020-03-20 14:22:24
【问题描述】:

我正在遍历一个目录,其中包含一些文件。

我想从文件中获取内容。但我一直收到错误消息:

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'artikel1.txt'

它甚至提到了文件的名称! (artikel1.txt)。

这是我的代码:

import os
entries = os.listdir(POSITIVEFILES_PATH)


for file in entries:

    text_file = open(file,"r")
    print(text_file.read())

为什么我会收到此错误消息?这些文件位于相对路径目录中。在我收到一些消息之前,我没有任何权限

请帮忙!

【问题讨论】:

  • 考虑您的项目文件夹。

标签: python file


【解决方案1】:

那是因为os.listdir 只给你一个文件名列表而不是它们的完整路径,如果你足够幸运并且文件与你的程序文件在同一个目录中,那么它不会引发错误。

例如,我的projects 目录中有一个程序文件,我使用os.istdir('../') 运行它,这将只返回外部/包含文件夹中的文件名,如下所示 ['file1', 'file2',] 所以我必须像这样打开

open('../' + 'file1', 'r')

在正常情况下,你会做这样的事情来确保你总是给 open 函数一个完整描述的路径

open(POSITIVEFILES_PATH + file, "r")

您还可以发现 os.path.join 在进行此类路径连接时更加有用和简洁。

【讨论】:

  • 完美!非常感谢:-)
猜你喜欢
  • 1970-01-01
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
  • 2022-11-13
相关资源
最近更新 更多