python開啟os.walk()返回檔案出現找不到檔案的問題
阿新 • • 發佈:2019-01-08
問題描述
執行下面程式碼時,會出現No such file or directory錯誤import os
os.chdir("E:/new/a")
for root ,dirs,files in os.walk(".",topdown=False):
for f in files:
fo=open(f,encoding="gbk",errors="ignore")
l=fo.readlines()
原因剖析
因為f沒有路徑,只有檔名,例如只有個1.txt的話又與程式不在同一目錄下open函式就找不到該檔案了。解決方法
在open前新增os.path.join()作用連線一個或多個檔案路徑,例如:os.path.join('c:/',''foo'),輸出:c:/foof=os.path.join(root, f)
最終程式碼:
import os os.chdir("E:/new/a") a="42"; for root ,dirs,files in os.walk(".",topdown=False): for f in files: f=os.path.join(root, f) print(f) fo=open(f,encoding="gbk",errors="ignore") l=fo.readlines()