用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编程效率
Feb 16 Python
利用python获取Ping结果示例代码
Jul 06 Python
Python学习pygal绘制线图代码分享
Dec 09 Python
Python字典及字典基本操作方法详解
Jan 30 Python
pandas中的DataFrame按指定顺序输出所有列的方法
Apr 10 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
python如何制作缩略图
Apr 30 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
python中如何打包用户自定义模块
Sep 23 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 Python
总结几个非常实用的Python库
Jun 26 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
PHP加密解密函数详解
2015/10/28 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
javascript 闭包
2011/09/15 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
js初始化验证实例详解
2016/11/26 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
js如何验证密码强度
2020/03/18 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Django 限制访问频率的思路详解
2019/12/24 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
财务人员求职自荐书范文
2014/02/10 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
三好学生事迹材料
2014/12/24 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技