2014-11-06 71 views
0

你能幫我解決下面的代碼嗎?我不明白爲什麼不打印文件夾中的txt文件的內容?通過python從txt文件導入數據

import os 
directory = raw_input("Provide the folder location") 
for files in os.listdir(directory): 
    if files.endswith(".txt"): 
     f=open(files, 'r') 
     for line in f.readlines(): 
      print line 
+0

嘗試打印'文件'?它存在嗎?它是否以'.txt'結尾? – 2014-11-06 08:08:03

回答

2

os.listdir只返回沒有根文件夾的名稱。 爲了讀取這些文件,你必須處理的完整路徑:

fileFullPath = os.path.join(directory, files) 
+0

非常感謝!它的工作 – Prix 2014-11-06 09:32:17

0

,因爲你試圖打開的文件名,而不是完整的文件路徑

你需要你不打開文件將該目錄添加到打開的方法中。

f=open(directory + files, 'r') 

那麼它應該工作。 當您嘗試運行代碼時,您很可能會遇到FileNotFoundError錯誤。

import os 
dir = 'G:\Dev\\' 
for files in os.listdir(dir): 
    if files.endswith(".txt"): 
     f=open(dir + files, 'r') 
     for line in f.readlines(): 
      print (line) 

此代碼具有硬編碼目錄。 raw_input已將名稱更改爲在python3中輸入,您可以修改自己的代碼以使其工作。

相關問題