【问题标题】:I am getting a File not Found error on a simple Python open() function我在一个简单的 Python open() 函数上收到 File not Found 错误
【发布时间】:2016-02-26 07:33:12
【问题描述】:

这是我将其归结为简单的 open() 的代码,显示打开文件输入语句但关闭文件不显示。这在空闲界面中运行,但不在命令行界面中。

程序和文件(拼写正确且全部小写)都在桌面上,用于此次测试。有没有人看到缺少什么?打开

# Read It
# Demonstrates reading from a text file

input("\n\nPress the enter key to Open file")
print("Opening and closing the file.")
text_file = open("nicole1.txt", "r")
input("\n\nPress the enter key to Close file")
text_file.close()

input("\n\nPress the enter key to exit.")

** 更新,好的,我试过绝对路径,还是不成功。我在闪存驱动器上有一个副本。我在 Windows XP 机器和 Windows 7 机器上运行它,它运行得很好。我使用相同的闪存驱动器并尝试在 Windows10 Box 上运行它,但我遇到了问题。一条评论询问是否存在回溯,并且存在,它基本上表明该文件不存在。我现在正在尝试确定这是否是 Windows 10 问题。此外,代码将在两个 Windows Box(XP 和 Win10)上的空闲状态下运行。

【问题讨论】:

  • 尝试使用文件的绝对路径,如果这样可以解决问题,那么,那就是你的问题!
  • 你有回溯吗?首先猜测是您正在从不同的目录运行脚本。
  • open() 文件之前,放置import osprint(os.path.abspath('nicole1.txt'))。我敢打赌它不会打印C:\Users\Nicole\Desktop\nicole1.txt
  • 您的程序和文件在桌面上,但这并不意味着您当前的工作目录也在那里。您可以使用print(os.getcwd()) 进行测试。当文本文件与 python 模块位于同一目录时,获取其名称的常用方法是os.path.join(os.path.abspath(__file__), "nicole1.txt")
  • 大约 1% 的学生在尝试在 Windows 10 中打开文本文件进行阅读时报告了类似的错误。在大多数情况下,文件可以完美打开,但有时(可能每五次)同一程序在空闲状态下运行时会显示“找不到文件错误”。终止 Idle 并重新启动程序通常会有所帮助。

标签: python file windows-10


【解决方案1】:

你是如何运行这个程序的? 如果通过命令行,则将文件放入包含此代码的 python 文件所在的同一文件夹中。 正如其他人指出的那样,问题是程序无法找到该文件。 如果您通过某个 IDE 运行它,则将工作目录设置为此路径。例如,Pycharm(和其他 Intellij IDE)在“编辑配置”中有这个。

【讨论】:

    【解决方案2】:

    好吧,除了我最初将它命名为 nicole1.txt.txt (由于 Windows 自动使用扩展而 Linux 没有)这一事实之外,它对我使用 Windows 10 Home 和 Pro 以及 Ubuntu 16.04 来说非常好. 我只是在命令提示符下执行了python test.pytest.py 包含您的脚本并确保两个文件位于同一目录中。

    我无法在任何其他 Windows 版本上测试它,因为我不再使用它们。

    另外,顺便说一句,您可能希望将代码重写为:

    input("\n\nPress the enter key to Open file")
    print("Opening and closing the file.")
    with open("nicole1.txt", "r") as text_file:
        input("\n\nPress the enter key to Close file")
        text_file.close()
    input("\n\nPress the enter key to exit.")
    

    这样,无论发生什么,您都可以确保文件已关闭。 是的,我知道,从技术上讲,该文件被关闭了两次。

    【讨论】:

      【解决方案3】:

      我在 Windows 10 上遇到了同样的问题,但解决方案听起来很愚蠢,只是减少了路径长度。显然,Windows (10) 在公元 2021 年仍然存在路径很长的问题。

      猜你喜欢
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 2020-09-10
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多