【问题标题】:Python [FileNotFoundError: [Errno 2] No such file or directory: 'sample.txt'] errorPython [FileNotFoundError: [Errno 2] No such file or directory: 'sample.txt'] 错误
【发布时间】:2021-06-03 14:52:59
【问题描述】:

我在同一个文件夹中有 txt 和 python 文件,我正在尝试这个:

f =open('sample.txt')
data = f.read()
print(data)
f.close()

但是,我仍然面临错误。

我不想写文件的完整路径有什么办法可以解决这个错误。

The Image of folder

【问题讨论】:

  • 添加以下代码import os; print(os.getcwd()),看看你的程序是从哪里运行的。
  • 尝试import os; print(os.listdir()) 并检查文件。
  • 根据 Thomas John 的说法,请考虑您的文件名错误。您可以修改 Windows 设置以向您显示扩展名,或者从命令提示符执行“dir”。您确定您正在从该目录运行程序吗?也许您可以在短程序的开头添加一些临时代码来列出目录中的文件。总而言之,当你运行你的程序时,我们并不确定文件名或当前目录。
  • 我已经在 Atom 代码编辑器中试过了,它可以工作。

标签: python


【解决方案1】:

删除文件扩展名 .txt 并尝试。您的扩展程序正在创建文件未找到错误。

f = open('sample')

https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

【讨论】:

  • 我相信他的 Windows 设置被设置为隐藏扩展名 - 所以我们看不到该文件真的被称为 sample.txt (或其他东西)。但是那里可能有一个扩展名 - 所以我认为你在正确的轨道上 - 显然他的文件名错误。
【解决方案2】:

你需要在那个文件夹中执行你的 python 实例,你的 python 运行时只会在它运行的地方找到文件。

例如,您的 Files_01.py 在 Files 文件夹中,您需要打开一个 CMD 并转到该文件夹​​并从那里执行您的 python 文件,或者如果您使用的是 VSCode,您需要打开集成终端,移动到 Files 文件夹并从那里执行 python 命令,这将使您的 python 运行时在执行环境的根目录中找到文件 sample.txt

【讨论】:

    【解决方案3】:

    试试这个:

    f = open("./sample.txt", "r")
    

    如果你了解一些关于终端和目录的基础知识,你就会知道./ 是什么意思,但通俗地说,它基本上表示文件在当前正在处理的目录中。

    如果在 VSCode 中打开的文件夹是工作区,也可能会导致这种情况。如果假设您的“开发”文件夹是一个工作区,那么试试这个:

    f = open("./Visual Studio Code (Projects)/Python/sample.txt", "r")
    

    【讨论】:

      【解决方案4】:

      正如托马斯之前解释的那样。尝试从文件名中删除 txt 扩展名,然后重试。另外,我会对文件对象使用 with 关键字。

      with open(filename,'rt') as f:
          file_data = f.read()
      

      这样我就不用担心写f.close()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-29
        • 1970-01-01
        • 2022-01-24
        • 2019-03-25
        • 1970-01-01
        • 1970-01-01
        • 2018-03-07
        相关资源
        最近更新 更多