Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python FileNotFoundError:[错误号2]_Python_Python 3.x_File Io - Fatal编程技术网

Python FileNotFoundError:[错误号2]

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

简介: 如何读取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'
“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())