2013-03-27 406 views
0

在Python中,我明白,我可以使用下面的命令如刪除具有相同名稱的多個文件:刪除多個目錄中的蟒蛇

for f in glob.glob("file_name_*.txt"): 
    os.remove(f) 

以及單個目錄可以shutil.rmtree('/path/to/dir')被刪除 - 這即使目錄不爲空,該命令也會刪除該目錄。另一方面,os.rmdir()需要該目錄爲空。

我實際上想刪除多個具有相同名稱的目錄,而且它們不是空的。所以,我正在尋找像 shutil.rmtree('directory_*')

有沒有辦法用python做到這一點?

回答

0

你所有的作品:​​3210迭代,並rmtree()刪除:

for path in glob.glob("directory_*"): 
    shutil.rmtree(path) 

,這將拋出OSError如果一個文件的匹配替換的路徑名中的一個,或任何其他理由,rmtree()可能會失敗。一旦您決定如何處理錯誤,您可以根據需要添加錯誤處理。除非你知道你想對錯誤做什麼,否則添加錯誤處理是沒有意義的,所以我已經把錯誤處理留下了。

+0

有人可以解釋這不能回答這個問題嗎? – 2013-03-27 06:52:35

+1

實際上並未檢查它是否是目錄。考慮包括'如果os.path.isdir'或其他.. – wim 2013-03-27 06:53:05

+0

@wim:這是評論或編輯的理由,而不是downvote。使用該系統。 – 2013-03-27 06:54:18