2012-06-25 59 views
1

我使用python脚本。我想打开一个文件来检索里面的数据。我添加了正确的道路,sys.pathPython I/O无法找到文件,但路径似乎不错

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

作为回答指出,'sys.path'不用于打开任意文件。但是你也应该避开Windows上目录路径中的反斜杠:'F:\\ WORK \\ SIMILITUDE \\ ALGOCODE';反斜杠本身就是一个转义字符。 –

回答

6

open()只检查当前的工作目录,不经过系统路径寻找文件。只有import适用于该机制。

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

4

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

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

你会尝试在当前目录下打开一个文件。

它不依赖于sys.path。当您尝试导入模块时使用sys.path变量,但在打开文件时使用该变量。

你需要指定在open到文件或改变当前目录到相应位置的完整路径(我认为前者是更好)。

相关问题