2

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

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

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

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

对此有解释吗?

4

1 回答 1

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'
于 2013-02-06T16:45:44.937 回答