ixsec 发表于 2019-10-18 17:25

批量删除脚本所在文件夹下的非保留文件

标题有点绕口
其实就是 需要删除某个文件夹下的文件,但又需要保留一些文件
实例需求:https://www.52pojie.cn/thread-1039773-1-1.html

用python 写了一个,估计还有一些小bug,待其他人去完善吧

好了话不多说们开始上代码

#!/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)


测试运行 如下

https://i.loli.net/2019/10/18/9VgaNSoJbnRWuLp.gif

ixsec 发表于 2019-10-18 17:33

此脚本比较危险,请谨慎运行.
因为是进行的白名单操作,即不再列表里则删除,删除是脚本所在文件夹下的所有文件,列表里的文件名为白名单,请谨慎运行..

zhyghg 发表于 2019-10-18 17:45

学习下。。。。

王美君 发表于 2019-10-18 17:52

厉害了,看到有人需要,马上就有了?

shubiao 发表于 2019-10-18 20:40

谢谢楼主分享
页: [1]
查看完整版本: 批量删除脚本所在文件夹下的非保留文件