Python I / O找不到文件,但路径似乎没问题

时间:2012-06-25 13:33:48

标签: python file-io io

我使用的是python脚本。我想打开一个文件来检索里面的数据。我添加了sys.path的正确路径:

 sys.path.append('F:\WORK\SIMILITUDE\ALGOCODE')
 sys.path.append('F:\WORK\SIMILITUDE\ALGOCODE\DTW')

更确切地说,我将打开的文件file.txt位于DTW文件夹中,我还添加了上层文件夹ALGOCODE。然后,我有命令

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

我有这个礼物:

Traceback (most recent call last):
   File "<pyshell#24>", line 1, in <module>
   inputASTM170512 = open("ASTM-170512.txt","r")
IOError: [Errno 2] No such file or directory: 'ASTM-170512.txt'

为什么呢?你有什么想法吗?

2 个答案:

答案 0 :(得分:6)

open()仅检查当前工作目录,并且不会遍历您的系统路径以查找该文件。只有import可以使用该机制。

您需要在使用os.chdir(PATH)打开文件之前更改工作目录,或者在尝试打开文件时包含整个路径。

答案 1 :(得分:4)

当您尝试使用open打开文件时,例如:

open("ASTM-170512.txt","r")

您将尝试在当前目录中打开一个文件。

它不依赖sys.path。尝试导入模块时会使用sys.path变量,但打开文件时则不会。

您需要在open中指定文件的完整路径,或者将当前目录更改为对应的位置(我认为前者更好)。