Python FileNotFoundError:[错误号2]
简介: 如何读取Python中的文件? 为什么一定要这样做 我的问题是出现以下错误:Python FileNotFoundError:[错误号2],python,python-3.x,file-io,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: 'te
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'
“test.txt”与我的程序位于同一文件夹中。我是Python新手,不明白为什么会出现文件位置错误。我想知道修复方法,以及为什么必须这样做
我已尝试使用文件“C:\Users\Terminal\Desktop\wkspc\test.txt”的绝对路径
其他详情:
"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),脚本可能不会从脚本所在的目录启动。我认为最好的选择是采用以下方式:
import os.path
scriptpath = os.path.dirname(__file__)
filename = os.path.join(scriptpath, 'test.txt')
testFile=open(filename)
print(testFile.read())
os.path.dirname(_文件)
将找到当前运行的脚本所在的目录。然后,它使用os.path.join
将test.txt
预先添加到该路径
如果这不起作用,那么我只能猜测
test.txt
实际上与正在运行的脚本不在同一目录中。似乎是由不同的原因造成的。1.要使用“test.txt”
,如何调用python脚本?2.对于使用完整路径,是否避免了转义字符(例如,使用r“C:\Users\Terminal\Desktop\wkspc\test.txt”
注意r
)您可以向我们展示您使用脚本启动python时使用的命令吗?如果您想使用python从与python脚本相同的目录加载test.txt
,则启动python时需要位于该目录中。我唯一的猜测是,您正在从其他地方启动python脚本。我启动了与python一起安装的“IDLE(Pytho GUI)”,从那里我打开程序并运行它。(文件->打开->等)这成功了,谢谢!希望,一旦我接受了更多的教育,我就可以不再使用这个修复程序。通常,您可以指定starrify提到的文件名的完整路径(他们建议的方法也可以),这样就解决了问题。无论脚本如何启动以及从何处启动(不同路径),此代码都将工作。
import os.path
scriptpath = os.path.dirname(__file__)
filename = os.path.join(scriptpath, 'test.txt')
testFile=open(filename)
print(testFile.read())