2013-03-04 85 views
0

我在打开文件时遇到问题,python(2.7)告诉我没有这样的文件,但是有。无法在Python中打开文件

 csvData = None 
     csvHeader = None 
     os.chdir("../result/files/") 
     for fileName in os.listdir("."): 
      if fileName.endswith(".csv"): 
       print fileName 
       with open("../result/files/"+fileName, 'rb') as csvFile: 
        readerCsv = reader(csvFile, delimiter = ';') 
        csvHeader = readerCsv.next() 
        _unused = readerCsv.next() 
        self.data = list.append(list(readerCsv)) 

这段代码suposed读5个CSV文件和它们的数据内容存储(除了第一行)

起初CHDIR告诉我,他发现Stats20120903.csv那么请问程序打开表示文件但我得到一个错误:

IOError: [Errno 2] No such file or directory: '../files/Stats20120903.csv' 

为什么?

感谢

回答

1

os.chdir不会告诉您目录中的内容,它会更改当前的工作路径。所有相关的文件路径都是相对于工作目录而言的。

您应该

  • 删除os.chdir("../result/files/")并调用os.listdir( “../结果/文件/”)或
  • 不加"../result/files/"你要打开的文件名。
+0

删除os.chdir(“../ result/files /”)并替换“。”通过“../result/files/”工作,谢谢 – 2013-03-04 12:17:35

1

with open(fileName, 'rb') as csvFile: 

,而不是寻找相对于你已经改变的目录。

0

您可以尝试使用os.path.abspath()来找出Python尝试使用的实际路径。