除非我指定路径,否则Python IDLE找不到文本文件

时间:2013-02-06 16:42:52

标签: python file

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

f = open("file.txt", "r")

但如果我这样做,我会收到一条错误消息,告诉我file.txt不存在。但是,如果我使用file.txt所在的整个路径,则会打开它:

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

对此有解释吗?

1 个答案:

答案 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'