簡體   English   中英

Python 使用 map 和 os.remove 刪除多個文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM