用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 相关文章推荐
9种python web 程序的部署方式小结
Jun 30 Python
github配置使用指南
Nov 18 Python
Python 3.x 新特性及10大变化
Jun 12 Python
Python的组合模式与责任链模式编程示例
Feb 02 Python
python+Django+apache的配置方法详解
Jun 01 Python
Python微信公众号开发平台
Jan 25 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
python监控进程状态,记录重启时间及进程号的实例
Jul 15 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 18 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
Python中requests做接口测试的方法
May 30 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
PHP插入排序实现代码
2013/04/04 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
jquery转盘抽奖功能实现
2015/11/13 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
Vue.use源码分析
2017/04/22 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
记录Django开发心得
2014/07/16 Python
python验证身份证信息实例代码
2019/05/06 Python
python绘制彩虹图
2019/12/16 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
迎接领导欢迎词
2014/01/11 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
三八妇女节寄语
2015/02/27 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python