【问题标题】:Can Python open files using open() when files are in the same folder?当文件位于同一文件夹中时,Python 可以使用 open() 打开文件吗?
【发布时间】:2021-07-27 10:30:56
【问题描述】:

我正在学习有关读取和写入文件的教程,但在尝试读取名为 a.txt 的 txt 文件时,我不断收到此错误:

文件“c:\Users\user\Desktop\Learning\Python\Reading and Writing to Files\file-demo.py”,第 3 行,在
使用 open('a.txt', 'r') 作为 f: FileNotFoundError: [Errno 2] 没有这样的文件或目录:'a.txt'

我的文本文件和我的 Python 文件都在文件夹读取和写入文件中,所以我很困惑为什么会出现此错误。

这是我的代码:

# File Objects 

with open('a.txt', 'r') as f:
   f_contents = f.read()

提前感谢您的帮助。

【问题讨论】:

  • 您可能在当前工作目录中没有该文件。尝试导入 os 并打印 os.getcwd() 以显示 python 在哪里寻找文件。
  • 是的,open 支持相对路径,请仔细检查 cwd 是否是您认为的那样。您可以使用os.getcwd 仔细检查

标签: python file


【解决方案1】:

如果您使用的是 VS Code 之类的代码编辑器,请确保 .txt 文件位于代码编辑器中打开的主文件夹中,否则它将无法工作。

但如果您从文件资源管理器运行 .py 文件,它仍然可以工作。

【讨论】:

  • 谢谢苏米特!我确实在使用 VS Code,但主文件夹中没有 .txt 文件。这解决了我的问题。最好的,
【解决方案2】:

我认为即使脚本和文件在同一个文件夹中,open() 函数也无法知道它。因此,您必须指定文件所在的位置才能使用 open() 函数。首先,如果您要处理文件、文件夹、目录或位置等,'os'(代表:操作系统)模块很有用。

import os

您可以使用'getcwd'函数获取脚本所在的文件夹位置并将其保存到字符串中。

dir = os.getcwd()

现在您可以将此字符串用作 open() 函数的参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-04
    • 2011-04-25
    • 2014-11-06
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多