用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中的序列化存储的方法
Apr 28 Python
使用Python的Django框架结合jQuery实现AJAX购物车页面
Apr 11 Python
浅谈python抛出异常、自定义异常, 传递异常
Jun 20 Python
Python正则表达式使用范例分享
Dec 04 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
python中的for循环
Sep 28 Python
ZABBIX3.2使用python脚本实现监控报表的方法
Jul 02 Python
Python配置文件处理的方法教程
Aug 29 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 Python
python爬虫框架feapde的使用简介
Apr 20 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实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
IntelliJ IDEA安装运行python插件方法
2018/12/10 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
利用python 读写csv文件
2020/09/10 Python
简述python&pytorch 随机种子的实现
2020/10/07 Python
pycharm永久激活超详细教程
2020/10/29 Python
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
入党转预备思想汇报
2014/01/07 职场文书
2014年教学工作总结
2014/11/13 职场文书
个人工作能力自我评价
2015/03/05 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA