【问题标题】:FileNotFoundError, even though the file existsFileNotFoundError,即使文件存在
【发布时间】:2018-06-30 13:21:31
【问题描述】:

我用 Python 编写了一个读取文本文件的小程序。但是,即使文件存在,我也会不断收到 FileNotFoundError。我的代码看似有问题的代码是这样的:

fileEntered = False

while not fileEntered:
    try:
        fileName = input("Enter file name: ")
        file = open(fileName, "r")
        fileEntered = True
        fileContents = file.readlines()
        file.close()
except FileNotFoundError:
    print("File not found. Please try again.")

当询问文件时,我输入 randomtext.txt(与程序位于同一文件夹中),但它不断抛出 FileNotFoundError(它不断打印 除了块)。

【问题讨论】:

  • @dmitryro:PYTHONPATH 与 open() 无关,仅用于导入。
  • 你是如何运行程序的?在 IDE 中?从命令行?
  • 当前工作目录用于open() 中的相对文件名。你能print(os.getcwd()) 并确保你在正确的工作目录中。您可以使用os.chdir() 切换到正确的当前工作目录。或者在open() 中使用绝对路径名。

标签: python-3.x


【解决方案1】:

当您打开文件时,能否判断您遇到的是 Win Error 2 还是 Win Error 3?如果 Win Error 2,则问题可能与您当前的工作目录有关。这意味着,即使文件存在,脚本也会查看不同的文件夹。如果您遇到 Win Error 3,那么这是一个不同的问题。

我已经修改了您的代码以获得准确的错误代码。

fileName = input("Enter file name: ") 
file = open(fileName, "r") 
fileContents = file.readlines()
 print(fileContents) 
file.close() 

我收到 FileNotFoundError: [Errno 2] No such file or directory: '454544.txt' (当不存在文件时 - Errno 2]。当我尝试使用完整路径或相对路径时,脚本工作正常。请尝试获取实际错误以便继续。如果该文件存在于您当前的工作目录中,则脚本将正常工作。请更改工作目录尝试。

【讨论】:

  • 我猜上面的内容可以帮助判断是win error 2还是3。如果win error 2,那么他必须改变他的工作目录或给出完整路径。这是他的问题的答案。
  • @David,您可以尝试告诉我们您的结果吗?
猜你喜欢
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 2020-06-04
  • 2021-09-18
  • 1970-01-01
  • 2020-07-14
  • 2018-11-16
  • 1970-01-01
相关资源
最近更新 更多