用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 正则式使用心得
May 07 Python
Python实现Linux下守护进程的编写方法
Aug 22 Python
判断网页编码的方法python版
Aug 12 Python
Python中标准模块importlib详解
Apr 16 Python
Python星号*与**用法分析
Feb 02 Python
Python Unittest自动化单元测试框架详解
Apr 04 Python
Python 使用 prettytable 库打印表格美化输出功能
Dec 26 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
如何在Python3中使用telnetlib模块连接网络设备
Sep 21 Python
python使用matplotlib绘制图片时x轴的刻度处理
Aug 30 Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 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
世界上第一台立体声收音机
2021/03/01 无线电
php sprintf()函数让你的sql操作更安全
2008/07/23 PHP
PHP引用(&)各种使用方法实例详解
2014/03/20 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
Vue.js图片预览插件使用详解
2018/08/27 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
python中while和for的区别总结
2019/06/28 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
小学数学教学反思
2014/02/02 职场文书
法定授权委托证明书
2014/09/27 职场文书
技术转让协议书
2016/03/19 职场文书
Python实现双向链表
2022/05/25 Python