python将当前文件夹下的文本文件分类移动到当前目录下对应的子目录

python将当前文件夹下的文本文件分类移动到当前目录下对应的子目录

例如,将'D:\PYTHONWORKPLACE\data\txt'目录下的13种文件移动到对应13个文件夹(跳过文件夹创建过程)

代码如下:

# 移动文件到对应文件夹
def move_files_to_type_folder(folder):
    import re
    import shutil
    import glob
    import os

    # 用来匹配文件类型的匹配条件
    match_condition = re.compile(r'[A-Z_A-Z]')

    # 获取目录下所有文件和文件夹名
    allfiles = os.listdir(folder)
    file_types = []
    # 剔除文件,剩下文件夹
    for f in allfiles:
        fname = os.path.join(folder, f)
        if os.path.isfile(fname):
            pass
        else:
            file_types.append(f)

    # 匹配文件夹下所有txt文件路径
    files = glob.glob(os.path.join(folder, "*.txt"))

    # 文件名匹配和移动文件
    for f in files:
        # 匹配文件名
        fname = os.path.basename(f)

        # 从文件名匹配字母确定文件类型
        type_arr = match_condition.findall(fname[:-4])

        # 将字符数组转为字符串
        type_str = ""
        type_str = type_str.join(type_arr)

        # 根据文件名判断文件类型
        for f_type in file_types:
            if type_str == f_type:
                # 移动的目的文件夹名
                new_filename = folder + '\\' + type_str + '\\' + fname
                # 移动文件
                shutil.move(f, new_filename)
                print('move {} to {} successfully'.format(f, new_filename))
                break


if __name__ == '__main__':
    folder = r'D:\PYTHONWORKPLACE\data\txt'
    move_files_to_type_folder(folder)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值