FileNotFoundError:[Errno 2]

时间:2014-09-19 00:55:42

标签: python python-3.x file-io

梗概: 如何在Python中读取文件? 为什么必须这样做?

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

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'

源自以下代码:(即整个&#39; .py&#39;文件)

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

&#34;的test.txt&#34;与我的程序位于同一文件夹中。我是Python新手,不明白为什么我会收到文件位置错误。我想知道修复以及必须以这种方式完成修复的原因。

我尝试过使用文件的绝对路径,&#34; C:\ Users \ Terminal \ Desktop \ wkspc \ test.txt&#34;

其他细节:

"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

1 个答案:

答案 0 :(得分:11)

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

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实际上与您正在运行的脚本位于同一目录中。