用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删除列表内容
Aug 04 Python
MySQL中表的复制以及大型数据表的备份教程
Nov 25 Python
详解Python中的文件操作
Aug 28 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
儿童python练习实例
May 27 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
pandas使用get_dummies进行one-hot编码的方法
Jul 10 Python
python requests使用socks5的例子
Jul 25 Python
在Python中获取操作系统的进程信息
Aug 27 Python
python数据分析:关键字提取方式
Feb 24 Python
Python实现简单的猜单词
Jun 15 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
php学习之简单计算器实现代码
2011/06/09 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
phpcmsv9.0任意文件上传漏洞解析
2020/10/20 PHP
JS冒泡事件的快速解决方法
2013/12/16 Javascript
JsRender for object语法简介
2014/10/31 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
MySQL最常见的操作语句小结
2015/05/07 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
2016/07/15 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
Python双链表原理与实现方法详解
2020/02/22 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
生产车间实习自我鉴定
2013/09/23 职场文书
机械制造与自动化应届生求职信
2013/11/16 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
护士长竞聘演讲稿
2014/04/30 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
班委竞选稿范文
2015/11/21 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书