将同一文件夹下的大量文件根据设定分至多组

本文介绍了一种通过Python脚本实现对大量文件按名称中特定数字进行自动分组的方法,适用于需要对文件进行快速整理的场景。
摘要由CSDN通过智能技术生成

将同一文件夹下的大量文件根据设定分至多组

  1. 需求分析
    recon文件夹下存在大量文件,观察文件名,我们设计将文件按照recon_后的第一个数字进行分组,那么最终产生的文件夹应为0,1,…,11
    在这里插入图片描述
  2. 编写程序
    基于上述假象,我们编写了如下程序,将其复制在recon文件夹下运行即可。
    #!/usr/bin/env python
    import subprocess, threading, time, shutil, os, sys
    import re
    
    
    file_list = os.listdir()
    
    file_set = {}
    pattern = 'recon_(\d*)_'
    
    for file in file_list:
        result = re.match(pattern, file)
        if result == None:
            continue
    
        if result.group(1) not in file_set.keys():
            file_set[result.group(1)] = []
    
        file_set[result.group(1)].append(file)
    
    for key in file_set.keys():
        os.path.exists(key) or os.mkdir(key)
    
        for item in file_set[key]:
            mv_cmd = ['mv', item, key]
            subprocess.call(mv_cmd)
    
    print(file_set.keys())
    
    实验结果如下所示:
    在这里插入图片描述
  3. 扩展
    如果根据数量进行划分,例如每个文件夹固定数量的文件,我想也是同样的逻辑,首先获取全部文件名,剔除split.py,创建新文件夹,划分文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值