2011-04-13 63 views
0

我儘量嘗試讀取一個CSV文件,解釋通過複製\的Python:錯誤IO錯誤:[Errno2]文件或目錄

> result = [[urlparse(u).netloc] for u in file ('S:\Dev\Python\BDDtest.csv')] 

>>IOError: [Errno 2] No such file or directory: 'S:\\\Dev\\\Python\\\BDDtest.csv' 

返回一個壞目錄當我把它的壞的解釋一個ufile ='S:\Dev\Python\BDDtest.csv'並打印其結果是正確的解釋

但是當我嘗試

> result = [[urlparse(u).netloc] for u in file (ufile)] 

它返回相同的錯誤...

任何作爲修復或交代

+0

你使用的是Windows? – wong2 2011-04-13 09:02:16

+0

是的,我在家裏並沒有出現同樣的錯誤,因爲我在Linux shell中使用它 – c24b 2011-04-13 09:03:37

+0

您正在Linux shell中打開文件'S:\ Dev \ Python \ BDDtest.csv'? – eumiro 2011-04-13 09:11:07

回答

1

也許與os.path.abspath則一劈會有幫助嗎?

import os 
result = [[urlparse(u).netloc] for u in 
      file(os.path.abspath('S:\Dev\Python\BDDtest.csv'))] 

您也可以嘗試使用ntpath明確:

import ntpath 
result = [[urlparse(u).netloc] for u in 
      file(ntpath.abspath('S:\Dev\Python\BDDtest.csv'))] 
+0

優雅的方式來扭轉,但我認爲改變\目前已足夠,順便提一下,我謹記此謝謝 – c24b 2011-04-14 22:40:34

+0

非常有用,謝謝! – c24b 2011-04-18 13:18:49

0

您可以嘗試更換\/

+0

@eumiro nope恐怕我不能(@work = windows) – c24b 2011-04-13 09:18:33

+0

它的工作原理我想這是因爲從Linux切換到MS的方向結構C:\ C:/爲什麼在這種情況下,屬性文件會給出相反的結果,例如C:\? – c24b 2011-04-13 09:21:44

相關問題