在我的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>
在一个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'