選擇性批量刪除文件夾下一部分文件,python27行代碼就能實現

假如文件夾內有5000張圖片,現在想要刪掉一部分,要保留指定名字的圖片,該怎麼辦呢?

可以寫成一個*.BAT執行文件和一個關聯要保存圖片名字的txt文本,BAT執行的時候要讀取tat中的名字作對比,包含的不刪除,不包含直接刪除。

選擇性批量刪除文件夾下一部分文件,python27行代碼就能實現

好了話不多說,我們開始上代碼:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# author: ixsec
# date: 2019/10/18
# 用法,把此文件放到你需要刪除的目錄下,在
# ['getname.py','2017-01-06_RoyalBarge_1920x1080.jpg', '2017-01-10_EifelNPBelgium_1920x1080.jpg'] 這個列表裡添加需要保留的圖片名稱
# 比如需要保留123.jpg,411.png,則在此列表的基礎上添加就好了如下:
# ['getname.py','2017-01-06_RoyalBarge_1920x1080.jpg', '2017-01-10_EifelNPBelgium_1920x1080.jpg','123.jpg','411.png']
import os

root = os.getcwd()

def file_name(file_dir):
for roots, dirs, files in os.walk(file_dir):
print("所在目錄:", roots)
print("所在目錄的,所有目錄名:", dirs)
print("所在目錄的所有非目錄文件名:", files)
for i in files:
if i in ['getname.py','2017-01-06_RoyalBarge_1920x1080.jpg', '2017-01-10_EifelNPBelgium_1920x1080.jpg']: #這裡添加你需要進行保留的圖片名稱,全名用單引號和逗號進行隔離
print("此圖片已經保留", i)
else:
print("此圖片刪除中", i)
os.remove(i)


if __name__ == '__main__':
file_name(root)

此腳本比較危險,請謹慎運行.

因為是進行的白名單操作,即不再列表裡則刪除,刪除是腳本所在文件夾下的所有文件,列表裡的文件名為白名單,請謹慎運行..

如果你想提升自己,對編程感興趣,小編這裡有一整套python的學習資料從web開發、爬蟲、數據分析、數據可視化、機器學習、到面試真題,關注我並在後臺私信小編:“08”即可免費領取資料!


分享到:


相關文章: