用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检测网页是否有日常链接
Jun 03 Python
Python中的并发编程实例
Jul 07 Python
跟老齐学Python之Python安装
Sep 12 Python
Python socket实现简单聊天室
Apr 01 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
详解Django中类视图使用装饰器的方式
Aug 12 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 Python
Python制作表白爱心合集
Jan 22 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技巧小贴士之下篇
2007/03/22 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
VUE实现吸底按钮
2021/03/04 Vue.js
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
极简的Python入门指引
2015/04/01 Python
python 识别图片中的文字信息方法
2018/05/10 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
关于爱情的广播稿
2014/01/16 职场文书
安全检查与奖惩制度
2014/01/23 职场文书
淘宝中秋节活动方案
2014/01/31 职场文书
教师节活动主持词
2014/04/02 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
集体生日活动方案
2014/08/18 职场文书
受资助学生感谢信
2015/01/21 职场文书
物资采购管理制度
2015/08/06 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
Python语言规范之Pylint的详细用法
2021/06/24 Python
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server