用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搭建简易服务器分析与实现
Dec 15 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
May 18 Python
Selenium(Python web测试工具)基本用法详解
Aug 10 Python
Python实现的各种常见分布算法示例
Dec 13 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
python实现同一局域网下传输图片
Mar 20 Python
python rsa-oaep加密的示例代码
Sep 23 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 24 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
建立文件交换功能的脚本(二)
2006/10/09 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
Python玩转Excel的读写改实例
2019/02/22 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
介绍一下Ruby的多线程处理
2013/02/01 面试题
三好学生自我鉴定
2013/12/17 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python
php解析非标准json、非规范json的方式实例
2022/05/10 PHP
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js