用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中的ctime()方法使用教程
May 22 Python
python socket多线程通讯实例分析(聊天室)
Apr 06 Python
python调用百度语音REST API
Aug 30 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
python matplotlib如何给图中的点加标签
Nov 14 Python
python解析命令行参数的三种方法详解
Nov 29 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
pycharm全局搜索的具体步骤
Jul 28 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 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中执行系统外部命令
2006/10/09 PHP
php之对抗Web扫描器的脚本技巧
2008/10/01 PHP
PHP 图片上传代码
2011/09/13 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
php常用的url处理函数总结
2014/11/19 PHP
PHP序列化操作方法分析
2016/09/28 PHP
Chosen 基于jquery的选择框插件使用方法
2012/05/30 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
python缩进区别分析
2014/02/15 Python
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
Python可变参数函数用法实例
2015/07/07 Python
python如何通过twisted实现数据库异步插入
2018/03/20 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
python pygame实现2048游戏
2018/11/20 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
在python里从协程返回一个值的示例
2019/02/19 Python
python实现的生成word文档功能示例
2019/08/23 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
公司收款委托书范本
2014/09/20 职场文书
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS