用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中使用CasperJS获取JS渲染生成的HTML内容的教程
Apr 09 Python
python用装饰器自动注册Tornado路由详解
Feb 14 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
python计算日期之间的放假日期
Jun 05 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
Jul 31 Python
浅谈Python批处理文件夹中的txt文件
Mar 11 Python
三个python爬虫项目实例代码
Dec 28 Python
基于pygame实现童年掌机打砖块游戏
Feb 25 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
通过实例了解python__slots__使用方法
Sep 14 Python
jupyter notebook远程访问不了的问题解决方法
Jan 11 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
1 Tube Radio
2021/03/02 无线电
php绘图之生成饼状图的方法
2015/01/24 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
php DES加密算法实例分析
2019/09/18 PHP
jquery last-child 列表最后一项的样式
2010/01/22 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
手把手教你把nodejs部署到linux上跑出hello world
2017/06/19 NodeJs
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
浅谈关于iview表单验证的问题
2018/09/29 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
Python编写Windows Service服务程序
2018/01/04 Python
python七夕浪漫表白源码
2019/04/05 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
有个性的自我评价范文
2013/11/15 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
机器人总动员观后感
2015/06/09 职场文书
李强为自己工作观后感
2015/06/11 职场文书
Elasticsearch 数据类型及管理
2022/04/19 Python
Mysql 一主多从的部署
2022/05/20 MySQL