我正在通过艰难的方式学习Python,但是在阅读文件的练习中遇到了问题:https://learnpythonthehardway.org/python3/ex15.html
我已按照此操作确保我的文件与我的python文件位于同一文件夹中。我一直收到错误:
Traceback (most recent call last):
File "ex15.py", line 5, in <module>
txt = open(filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ex15_sample.txt'
我正在输入:python ex15.py ex15_sample.txt进入powershell。我试着查看我遇到的问题,但在我的案例中找不到任何有用的东西。如果我做错了或者我错过了什么,请告诉我。感谢
答案 0 :(得分:0)
您可以通过
检查当前路径以及文件是否存在import os
#get the current working directory
os.getcwd()
#check whether your file exists in the current working directory
os.path.exists("./ex15.py")
答案 1 :(得分:0)
尝试下面的两件事
检查文件.py和.txt是否在同一位置。然后执行程序。 这就是我运行代码的方式。
C:\ Users \ db \ Desktop \ Python&gt; python ex15.py 输入文件名:ex15_sample.txt 这是我输入文件的内容。 这真的很酷。 这里有很多很有趣的事情。
如果您的文件位于其他位置,则需要为文件提供绝对路径。如
C:\ Users \ db \ Desktop \ Python&gt; python C:\ Users \ deepakb \ Desktop \ ex15_sample.txt
这次我在桌面上有我的txt文件。
答案 2 :(得分:0)
关于工作目录和相关文件位置的简要演示..
假设我们有一个名为 hello.txt 的文本文件,内容为:
Hello World!
位于&#34; C:\ Users \ username \ Documents \ python \ hello.txt&#34;
我们有一个名为 script.py 的python脚本,内容为:
with open('hello.txt', 'r') as f:
print(f.read())
位于&#34; C:\ Users \ username \ Documents \ python \ script.py&#34;
如果我只是点击Windows键并输入电源shell并按Enter键打开它,我默认会在我的主目录中看到它:&#34; C:\ Users \ username&gt; &#34 ;.从这里我可以通过调用C:\Users\username> python C:\Users\username\Documents\python\script.py
来执行我的python脚本。但是,如果我这样做,他们的python解释器将在我的主文件夹中启动,并且当它试图找到&#34; hello.txt&#34;它只会搜索文件夹&#34; C:\ Users \ username&#34;。那不是文件的位置,所以我们得到一个文件未找到错误。
要解决此问题,我们有几个选择。第一是重写我们的脚本文件以包含我们的文本文件的完整路径:... open("C:/Users/username/Documents/python/hello.txt", ...
这样就不需要搜索了,脚本可以从任何地方运行。另一种选择是从脚本中更改解释器的工作目录。您可以通过调用os
来设置os.chdir('C:/Users/username/Documents/python')
库的工作目录。最后,在使用cd
命令调用python解释器之前,可以使用PowerShell设置工作目录:
C:\Users\username> cd .\Documents\python\
答案 3 :(得分:0)
我有同样的错误。
我将文件命名为y
是一个错误。
在记事本中创建文件时,文件名将自动为ex15_sample.txt
因此,如果您已创建文件,只需将其重命名为.txt
。
或
您还可以通过给ex15_sample
如您所见,文件名可能是python ex15.py ex15_sample.txt.txt
,扩展名为ex15_sample.txt
。