2013-03-04 88 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嘗試使用的實際路徑。