在我的Python书籍和Python文档中,这段代码应该足以打开一个文件:
f = open("file.txt", "r")
但如果我这样做,我会收到一条错误消息,告诉我file.txt不存在。但是,如果我使用file.txt所在的整个路径,则会打开它:
f = open("C:/Users/Me/Python/file.txt", "r")
对此有解释吗?
答案 0 :(得分:3)
简而言之 - 即时搜索路径(当前工作目录)是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'