用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 相关文章推荐
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
Python面向对象编程中关于类和方法的学习笔记
Jun 30 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
Jun 01 Python
python基础学习之如何对元组各个元素进行命名详解
Jul 12 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
Oct 27 Python
python实现文字版扫雷
Apr 24 Python
Django怎么在admin后台注册数据库表
Nov 14 Python
使用Python爬取小姐姐图片(beautifulsoup法)
Feb 11 Python
python如何实现递归转非递归
Feb 25 Python
用Python的绘图库(matplotlib)绘制小波能量谱
Apr 17 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
mysql 搜索之简单应用
2007/04/27 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
Augularjs-起步详解
2016/07/08 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
Vue.js用法详解
2017/11/13 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
师范生实习的个人自我鉴定
2013/10/20 职场文书
警校毕业生自我评价
2014/04/06 职场文书
企业文化标语大全
2014/06/10 职场文书
关爱老人标语
2014/06/21 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers