在生活中,我們經常會遇到電腦中文件重復的情況。
在文件較少的情況下,這類情況還比較容易處理,最不濟就是一個個手動對比刪除;
而在重復文件很多的時候,我們很難保證把重復文件全部刪完。
這里黃幫主給大家帶來了一個便捷小方法——用Python/ target=_blank class=infotextkey>Python來刪除重復文件
練習時間
Python提供一個內置電腦文件管理庫os模塊,我們可以利用它來刪除多余文件。 當一個文檔里存在重復文件名,我們的系統會自動給我們重復的文件名更名,比如下圖的文件“1”重復了3次:
那我們該怎么刪除文件“1”的重復文件呢? 我們可以使用os模塊的os.remove(path)函數,只需要指定path參數,也就是文件的路徑,就可以刪除文件。 這里需要提醒大家,一定是包含文件名的路徑。 如果不是包含文件名的路徑,就會報錯,因為這是在刪除整個文件夾。
代碼演示
這里我們直接給大家展示代碼:
import os # 加載文件管理庫
path = "D:projects"
files = os.listdir(path) # os.listdir(path) 列出path下的所有文件名的并以”列表“的形式返回
print(type(files)) # 驗證files的類型print("路徑:{} 下擁有的文件是{}".format(path, files)) # 打印path下的所有文件名
files_delete = files[0:2] # 找到自己要刪除的文件名,這里我們也可以用input函數來指定我需要刪除的文件哦!
print(files_delete) # 打印要刪除的文件名
for file_name in files_delete:
file_path = os.path.join(path, file_name) # 運用os.path.join(path, file_name)將文件路徑與文件名拼接,形成一個新路徑
os.remove(file_path) # 刪除文件
print("刪除重復文件之后, path下的文件名有哪些:", os.listdir(path)) # 打印刪除重復文件之后剩下的文件
復制代碼
這時再去我們指定的路徑的文件夾里去看,重復的文件就被刪除了!
代碼中函數注解:
- file_list = os.listdir(path): 列出指定文件路徑(參數path)中的所有文件,并以列表形式返回。
- file_path = os.path.join(path, "文件名"):將文件路徑與文件名拼接,形成一個新路徑.比如:os.path.join(path="D:projects", "xiaobei.txt")得到的結果為:"Dprojectsxiaobei.txt"
- os.remove(path)刪除指定path的文件名。
總結
同學們可以自己試一試用Python刪除電腦中的重復文件哦!
當然,在練習之前,學習Python的基礎知識是非常重要的。