2017-07-19 27 views
1

我試圖從目錄中刪除具有擴展名爲.pcp的文件。 如果我列出目錄,我得到:嘗試從目錄中刪除文件的「未定義對象」錯誤

>>> for i in os.listdir(folder): 
...  if i.endswith(".pcp"): 
...   print(i) 
... 
1.pcp 
2.pcp 
3.pcp 
4.pcp 
5.pcp 
6.pcp 
7.pcp 
8.pcp 
9.pcp 
10.pcp 

當我辦:

>>> for i in os.listdir(folder): 
...  if i.endswith(".pcp"): 
...   os.remove(os.path.join(dir, i)) 
... 

我得到的錯誤:

Traceback (most recent call last): 
    File "<stdin>", line 3, in <module> 
    File "C:\Program Files (x86)\IronPython 2.7\Lib\ntpath.py", line 96, in join 
TypeError: len() of unsized object 

請你指出我的錯誤是什麼在做什麼?非常感謝。謝謝。

回答

1

它看起來像你的呼喚

os.remove(os.path.join(dir, i)) 

當你沒有得到一個NameError因爲dir是一個內置函數做了一個錯字。


相反,你可能需要調用下面一行:

os.remove(os.path.join(folder, i)) 

您還可以使用glob模塊:

import glob 
files = glob.glob(os.path.join(folder,'*.pcp')) 
for f in files: 
    os.remove(f) 
+0

謝謝! ...我忽略了「目錄」功能/方法。我試過你的glob解決方案並且工作。再次感謝。 – alc

相關問題