【发布时间】:2020-04-24 19:45:50
【问题描述】:
我正在启动 Python,这是我关于 Stack Overflow 的第一个问题。 我最近在处理一些文件,在尝试打开文件进行测试时遇到了错误。
f = open("fi.txt", "r")
问题是,我总是遇到这样的错误:
Traceback (most recent call last):
File "C:\Users\USER\OneDrive\Documents\Python\Beginner\FileHandle2.py", line 9, in <module>
f = open("fi.txt", 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'fi.txt'
已指定路径(通过 sys.path)。 该文件存在,它与我的 Python 脚本(即 FileHandle2.py)位于同一文件夹中。 我不明白我在这里做错了什么,如果有人能给我一些提示吗?
此外,当我执行以下操作时:
with open("fi2.txt",'w',encoding = 'utf-8') as f:
f.write("my first file\n")
文件“fi2.txt”已在我的文件夹中正确创建,我可以在执行时调用它而不会出错:
f = open("testy.txt", 'r')
因此,我想知道发生了什么? “fi.txt”是使用 UI 创建的(在 Windows 10 中,右键单击 > 新建 > 文本文档),而“fi2.txt”是通过 Python 控制台创建的。
到目前为止,我知道该怎么做,但我想对这种行为做出解释。 谢谢大家!
【问题讨论】:
-
我会在执行时查看 python 的当前工作目录。
import osprint(os.getccwd())然后确保您的文件位于正确的位置print(os.listdir(os.getcwd())) -
Python 仅在
import期间使用sys.path定位 .py 模块,而不用于任意数据文件。您需要指定文件的完整路径或更改当前工作目录,使其成为文件所在的目录。 -
谢谢两位的回答! LazyScripter,我确实检查了这个命令来打印当前工作目录,我确实在我的 fi.txt 和我的 Python 文件所在的正确目录中。 Martineau,我还以不同的方式指定了完整路径,使用双 \\、单 \\,甚至是 / 和 // 的另一种方式,但找不到解决方案。
-
由于我在Python中创建文件并稍后打开它时它正在工作,所以我的这个问题并不是真正的紧急情况,希望以后不会卡住我。