python文件分层级重命名并移动

一、目标

原有数据:省>村编码>村景照片

目标:省>县编码>镇编码>村编码>村景照片

 二、代码实施

主要使用shutil.move函数;数据量大可使用进度条tqdm

注意:不能在同层级下操作,最外层新建了文件夹用来移动数据 

代码:

import os
import shutil
from tqdm import tqdm

def road(p):
    if not os.path.exists(p):
        os.mkdir(p)

path = r'E:\人居调查图片\renju_pic3'

out = r'E:\人居调查图片\2023816_renju_move'
    
roads = os.listdir(path)
for i in roads:
    pro_road = os.path.join(path,i)
    village_road = os.listdir(pro_road)
   
    #new filedir
    out_pro = os.path.join(out,i)
    road(out_pro)
    
    for name in tqdm(village_road):
        out_county = os.path.join(out,i,str(name[:6]))
        road(out_county)
        out_town = os.path.join(out,i,str(name[:6]),str(name[:9]))
        road(out_town)
        out_vill = os.path.join(out,i,str(name[:6]),str(name[:9]),str(name))
        road(out_vill)  
        
        for pics in os.listdir(os.path.join(path,i,name)):
            # pics图片名
            ori = os.path.join(path,i,name,pics)
            tar = os.path.join(out,i,out_county,out_town,out_vill,pics)
            shutil.move(ori,tar)

三、最终效果

效果展示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值