【Python】使用Python批量移动文件

【fishing-pan:https://blog.csdn.net/u013921430 转载请注明出处】
在工作中难免会遇到需要批量整理文件的情况,当需要从一堆文件中将部分文件批量地转移时,如果手工一一转移难免浪费时间,此时我们就可以考虑用脚本来转移文件了。

例如,李华的朋友帮他处理了一批图像,但是朋友将生成数据和原始数据放在了同一目录下,但是老师让李华把文件分别放在两个文件夹,这时候写英文作文的能力肯定是帮不了他了,他可以尝试用Python脚本来批处理。

当然,批处理的前提条件是这两种文件在命名之间有明显区别,例如:原始数据的命名规则是:编号+_src.jpg,而输出数据的命名规则是编号+_res.jpg。又或者是原始数据为jpg格式,而输出数据保存成了png格式。根据前面的例子,可以直接上代码;代码中主要用到了os、shutil和glob三个库
代码
————————————————
版权声明:本文为CSDN博主「不用先生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013921430/article/details/100546177

import os
import shutil
import glob

def my_move(srcfn,dstdir):                 ##定义移动函数,参数为待移动的文件路径和目标目录
    if not os.path.isfile(srcfn):          ##判断文件是否存在
        print('srcfn error')

    else:
        srcdir,fn=os.path.split(srcfn)     ##分离绝对路径和相对路径,获得文件名
        
        if not os.path.exists(dstdir):     ##如果目录不存在,创建目录
            os.makedirs(dstdir)  

        dstfn=dstdir+fn                    ##生成目录下的文件名
        shutil.move(srcfn,dstfn)           ##移动 

fns=glob.glob('H:/dataset/*.jpg')                  ##获取当前目录下所有jpg格式的文件

src_fns=[fn for fn in fns if fn[-7:-4]=='src']     ##获取当前目录下的所有原始数据,存为一个list

for ind in range(len(src_fns)):             ##循环移动所有文件

    my_move(src_fns[ind],'H:/dataset/src/')

已完

本文为转载

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值