![](/img/trans.png)
[英]Unable to delete files from folder using os.remove() in python
[英]Python removing multiple files using map and os.remove
我正在嘗試使用此方法刪除多個文件:
map(os.remove, glob.glob("*.pdf"))
我得到了一個帶有 pdf 擴展名的文件列表,但這不會刪除任何文件。
我的解決方案是用list()
包裝這張地圖。
任何其他不需要使用列表或其他東西的解決方案?
使用for
循環:
for i in glob.glob('*.pdf'):
os.remove(i)
map(...)
本身不起作用的原因是map(...)
將返回一個生成器,並且它只會在從生成器實際訪問項目后才評估表達式。
此外, map(...)
是對每個項目調用的函數返回的表達式的結果進行分組,但這在這里沒有意義,因為os.remove(...)
沒有' t 真的返回任何東西(或者,換句話說,返回None
),所以因為組裝一個None
的列表並沒有真正起到多大作用(無論如何你都馬上把它扔掉),使用for
循環是更合適的完成這項任務的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.