zoukankan      html  css  js  c++  java
  • 【Python】批量删除文件

    上次操作

    解决matplotlib文字标签遮挡问题

    https://www.cnblogs.com/hightech/p/13175470.html

    照着网上教程操作,风扇转的厉害,同时留下了不少垃圾文件,手动删除500张图片,真是体力活。

    需求:删除000a.png 001.png 500.png

    下面写下如何借助Python,实现快速批量删除文件。

    1、抄网上代码

    import os                                                 #导入模块
    def delete_files():                                           #定义函数名称
        for foldName, subfolders, filenames in os.walk(path):     #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名
               for filename in filenames:                         #遍历列表下的所有文件名
                    if filename!= r'aaa.png':                       #当文件名不为“aaa.png”时
                        if filename.endswith('.png'):                #当文件名以.png后缀结尾时
                            os.remove(os.path.join(foldName, filename))    #删除符合条件的文件
                            print("{} deleted.".format(filename)) 

    2、修改路径

    # 运行程序前,记得修改主文件夹路径! 
    path = os.getcwd() #获取当前工作目录路径  
    delete_files()  

    3、修改查找文件

    # python使用正则表达式来获取文件名的前缀方法
    import re
    test='000.png'
    m=re.findall(r'(.+?).',test)
    print(m)

    4、查找当前目录下的目标文件,

    不要用递归--->os.listdir(path)
    明确自己的需求,不要盲目抄代码。
    下面是自己原创部分。
    path = os.getcwd() #获取当前工作目录路径  
    list_name=os.listdir(path)
    for filename in list_name:
        if not re.findall(r'图d.png',filename):   # 需要保留的文件
            if re.findall(r'(d{3}.?).png',filename) :   # 需要删除的文件
                print(filename)

    5、验证没有问题再加上删除操作【防止误删除】

    filename是上步的结果,默认最后一个。

    6、代码合并:

    path = os.getcwd()
    list_name=os.listdir(path)
    n=0
    del_filelst=[]
    for filename in list_name:
        if not re.findall(r'图d.png',filename):   # 需要保留的文件
            if re.findall(r'(d{3}.?).png',filename) :   # 需要删除的文件
                del_filelst.append(filename)
                print("{} finded.".format(filename))
                os.remove(os.path.join(path, filename))    #删除符合条件的文件
                print("{} deleted.".format(filename)) 
                n+=1
                
                
    print('共删除%s个文件'%n)  
    print('删除文件为:
    ',del_filelst)

    输出内容

     实际截图

     特别说明:因为自己代码问题导致的文件误删除,本人概不负责。

    任何涉及删除操作,一定要在文件查找100%准确无误后执行,

      

  • 相关阅读:
    Xcode 10 关于 CocoaPods 安装失败的问题RuntimeError
    iOS 解决xcode设置全局断点后 执行视频播放时自动进入断点cxa_throw
    iOS swift String 换行显示
    iOS wkWebView点击链接无反应
    iOS swift跑马灯滚动可以点击
    iOS swift版本无限滚动轮播图
    iOS swift中比较模型数组是否相等
    iOS valueForKeyPath快速计算求和、平均值、最大、最小
    iOS 全屏播放网页视频退出后状态栏被隐藏
    vacabulary1
  • 原文地址:https://www.cnblogs.com/hightech/p/13176092.html
Copyright © 2011-2022 走看看