批量移动文件到不同文件夹下


前言

大量的数据文件,为方便处理,需要每六个放进一个新文件夹。
手动处理工作量过于庞大,偷懒的写几行代码,解决一下小问题。


提示:以下是本篇文章正文内容,下面案例可供参考

一、处理过程

1.要处理数据

在这里插入图片描述

2. 文件分组

在这里插入图片描述
现获取总文件下的所有文件名称,并分别统计,每6个放进一个list

3. 生成新文件夹

在这里插入图片描述
读取list[j],获取每个分组文件,并建立新的文件夹,循环命名(从1开始)

4. 移动文件

在这里插入图片描述
读取子list中的文件,并拼接文件原路径,然后移动

5. 移动结果

在这里插入图片描述

二、代码

#!/user/bin/env python3
# -*- coding: utf-8 -*-
import os
import shutil

path_src = "E://...//data_copy"
path_dst = "E://...//data_copy"

list_files = os.listdir(path_src)  # 获取目录下文件名清单
step = 6
class_files = []

for i in range(0, len(list_files), step):  # 每6个文件放进一个list
    class_file = list_files[i:i+step]
    class_files.append(class_file)

# 移动csv到指定文件夹
for j in range(len(class_files)):  # 遍历list下的子list
    files = class_files[j]  # 依次获得每个子list
    path_fin = os.path.join(path_dst, 'hour' + str(j + 1))  # 为每个子list生成新的文件夹名字
    path_class = os.makedirs(path_fin)  # 创建新的文件夹
    for k in range(len(files)):  # 子list中包含6个文件
        path_file = os.path.join(path_src, files[k])  # 拼接子list中文件的路径
        shutil.move(path_file, path_fin)  # 移动原文件路径下的文件到新路径下

总结

省去了对文件手动操作的麻烦
简单代码解决简单问题。
边调边改,写起来有点慢,但也是组织逻辑的过程,终归还是有收获。
每天进步一点点!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值