用python批量移动文件


Posted in Python onJanuary 14, 2021

我是用来移动图片的,其他格式的文档也是可以的,改下后缀列表就可以了

import os,shutil
import datetime
 
#将文件夹里的图片全部移动到新文件夹中
#revised by Stephen Shen 2020-3-10 09:28:50
 
def renameFile(dstpath):
    fdirname,fbasename=os.path.split(dstpath)
    #文件名相同但大小不同
    fname,fext=os.path.splitext(fbasename)
    nowtime=datetime.datetime.now()               
    strtime=str(nowtime.year)+str(nowtime.month)+str(nowtime.day)+str(nowtime.hour)+str(nowtime.minute)
    newfbasename=fname+'-'+strtime+fext
    dstpath=os.path.join(fdirname,newfbasename)
    return dstpath
 
def moveFile(oldpath,newpath):
    if os.path.exists(newpath):
        newpath=renameFile(newpath)
    try:
        shutil.move(oldpath,newpath)
        print(oldpath+' is moved')
    except:
        print(oldpath+' is skipped')
 
inpath=r'K:\fileExtracted\imagesFromDocs'
 
outpath=r'K:\filesExtracted'
image_ext=['.JPG','.jpg','.png','.PNG','.jpeg','.wdp']
image_outpath=os.path.join(outpath,'image')
doc_ext=['.doc','.docx']
doc_outpath=os.path.join(outpath,'doc')
 
emf_ext=['.emf']
emf_outpath=os.path.join(image_outpath,'emf')
wmf_ext=['.wmf']
wmf_outpath=os.path.join(image_outpath,'wmf')
 
if not os.path.exists(outpath):
    os.makedirs(outpath)
if not os.path.exists(image_outpath):
    os.makedirs(image_outpath)
if not os.path.exists(doc_outpath):
    os.makedirs(doc_outpath)
if not os.path.exists(emf_outpath):
    os.makedirs(emf_outpath)
if not os.path.exists(wmf_outpath):
    os.makedirs(wmf_outpath)
 
 
 
for folder,subfolders,files in os.walk(inpath):
    for file in files:
        oldpath=os.path.join(folder,file)
 
        if os.path.splitext(file)[-1] in image_ext:
            newpath=os.path.join(image_outpath,file)
            moveFile(oldpath,newpath)
        elif os.path.splitext(file)[-1] in doc_ext:
            newpath=os.path.join(doc_outpath,file)
            moveFile(oldpath,newpath)
        elif os.path.splitext(file)[-1] in emf_ext:
            newpath=os.path.join(emf_outpath,file)
            moveFile(oldpath,newpath)
        elif os.path.splitext(file)[-1] in wmf_ext:
            newpath=os.path.join(wmf_outpath,file)
            moveFile(oldpath,newpath)
        else:
            continue       
 
print('done')

然后再删除空文件夹

import os,shutil
 
#将文件夹里的空文件夹删除
#revised by Stephen Shen 2020-3-8 17:50:24
 
inpath=r'E:\pics-moving\待分类照片'
 
for folder,subfolders,files in os.walk(inpath):
    if not os.listdir(folder):
        shutil.rmtree(folder)
        # print(folder+' is empyt')
        print(folder+' is deleted')
 
print('done')

以上就是用python批量移动文件的详细内容,更多关于python批量移动文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python数据类型详解(二)列表
May 08 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
Oct 11 Python
python3安装pip3(install pip3 for python 3.x)
Apr 03 Python
Python爬虫小技巧之伪造随机的User-Agent
Sep 13 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
Jan 09 Python
python程序变成软件的实操方法
Jun 24 Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 Python
Python代码中如何读取键盘录入的值
May 27 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
python中的split、rsplit、splitlines用法说明
Oct 23 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
Feb 27 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 Python
python用700行代码实现http客户端
Jan 14 #Python
python批量生成身份证号到Excel的两种方法实例
Jan 14 #Python
Django扫码抽奖平台的配置过程详解
Jan 14 #Python
如何用python实现一个HTTP连接池
Jan 14 #Python
如何用python写个模板引擎
Jan 14 #Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 #Python
详解如何使用Pytest进行自动化测试
Jan 14 #Python
You might like
Windows下的PHP5.0安装配制详解
2006/09/05 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
javascript几个易错点记录
2014/11/26 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
理解JS事件循环
2016/01/07 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
2016/12/27 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
家长写给孩子的评语
2014/04/18 职场文书
初中学生期末评语
2014/04/24 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
公务员年终个人总结
2015/02/12 职场文书
收费员岗位职责
2015/02/14 职场文书
报案材料怎么写
2015/05/25 职场文书
青涩记忆观后感
2015/06/18 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
聊聊redis-dump工具安装问题
2022/01/18 Redis
Python first-order-model实现让照片动起来
2022/06/25 Python