用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中的异常处理学习笔记
Jan 28 Python
python文件的md5加密方法
Apr 06 Python
python获取list下标及其值的简单方法
Sep 12 Python
python中range()与xrange()用法分析
Sep 21 Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 Python
python:接口间数据传递与调用方法
Dec 17 Python
Python生成rsa密钥对操作示例
Apr 26 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
详解pandas.DataFrame.plot() 画图函数
Jun 14 Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 Python
python如何利用Mitmproxy抓包
Oct 10 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环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
python3中编码获取网页的实例方法
2020/11/16 Python
Python之多进程与多线程的使用
2021/02/23 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
上课睡觉检讨书
2014/01/28 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
党校学习党性分析材料
2014/12/19 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS