Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 IDLE不';除非指定路径,否则无法找到文本文件_Python_File - Fatal编程技术网

Python IDLE不';除非指定路径,否则无法找到文本文件

Python IDLE不';除非指定路径,否则无法找到文本文件,python,file,Python,File,在我的Python书籍和Python文档中,这些代码应该足以打开一个文件: f = open("file.txt", "r") 但如果我这样做,我会收到一条错误消息,告诉我file.txt不存在。但是,如果我使用file.txt所在的整个路径,它会将其打开: f = open("C:/Users/Me/Python/file.txt", "r") 对此有什么解释吗?简而言之,直接搜索路径(当前工作目录)是Python将要查看的地方。。。(因此在Windows上-可能会假定为C:\Pytho

在我的Python书籍和Python文档中,这些代码应该足以打开一个文件:

f = open("file.txt", "r")
但如果我这样做,我会收到一条错误消息,告诉我file.txt不存在。但是,如果我使用file.txt所在的整个路径,它会将其打开:

 f = open("C:/Users/Me/Python/file.txt", "r")

对此有什么解释吗?

简而言之,直接搜索路径(当前工作目录)是Python将要查看的地方。。。(因此在Windows上-可能会假定为C:\Pythonxy)

是的,这取决于Python/IDLE的执行位置。。。要使用其搜索路径,请执行以下操作:

>>> import os
>>> os.getcwd()
'/home/jon'

>>> open('testing.txt')
<open file 'testing.txt', mode 'r' at 0x7f86e140edb0>
导入操作系统 >>>os.getcwd() “/家/乔恩” >>>打开('testing.txt') 在一个shell中,更改目录。。。然后启动Python/IDLE

jon@forseti:~$ cd /srv
jon@forseti:/srv$ idle

>>> import os
>>> os.getcwd()
'/srv'
>>> open('testing.txt')

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    open('testing.txt')
IOError: [Errno 2] No such file or directory: 'testing.txt'
jon@forseti:~$cd/srv
jon@forseti:/srv$idle
>>>导入操作系统
>>>os.getcwd()
“/srv”
>>>打开('testing.txt')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
打开('testing.txt')
IOError:[Errno 2]没有这样的文件或目录:“testing.txt”

当我键入你的代码时,我得到了:>>>C:\\Python33这是否意味着我必须将我的文件保存在这个目录中,以便从现在开始不必为我要打开的每个文件声明整个路径?@SingSandibar从它们所在的目录运行它们-
cd
,然后在那里运行它们。。。