关于python:FileNotFoundError:[Errno 2]

FileNotFoundError: [Errno 2]

简介:如何在python中读取文件?为什么必须这样做?

我的问题是我得到以下错误:

1
2
3
4
Traceback (most recent call last):
  File"C:\Users\Terminal\Desktop\wkspc\filetesting.py", line 1, in <module>
    testFile=open("test.txt")
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

它源自以下代码:(这是整个".py"文件)

1
2
testFile=open("test.txt")
print(testFile.read())

"test.txt"与我的程序位于同一文件夹中。我对python不太熟悉,不明白为什么会出现文件位置错误。我想知道解决方法以及为什么必须这样做。

我尝试使用文件"c:users erminaldesktopwkspc est.txt"的绝对路径。

其他细节:

1
2
"Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit (Intel)] on win32"
Windows 7, 32 Bit


由于您使用的是空闲(GUI),因此脚本可能无法从脚本所在的目录启动。我认为最好的选择是:

1
2
3
4
5
6
import os.path

scriptpath = os.path.dirname(__file__)
filename = os.path.join(scriptpath, 'test.txt')
testFile=open(filename)
print(testFile.read())

os.path.dirname(__file__)将找到当前运行脚本所在的目录。然后,它使用os.path.jointest.txt与该路径预先混合。

如果这不起作用,那么我只能猜测test.txt实际上与您运行的脚本不在同一个目录中。