用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 httplib模块使用实例
Apr 11 Python
Python heapq使用详解及实例代码
Jan 25 Python
django实现登录时候输入密码错误5次锁定用户十分钟
Nov 05 Python
Pandas 同元素多列去重的实例
Jul 03 Python
python中sys.argv函数精简概括
Jul 08 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
python requests指定出口ip的例子
Jul 25 Python
django解决订单并发问题【推荐】
Jul 31 Python
python怎么提高计算速度
Jun 11 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
关于python中模块和重载的问题
Nov 02 Python
python实现学员管理系统(面向对象版)
Jun 05 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/12/06 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
url传递的参数值中包含&时,url自动截断问题的解决方法
2016/08/02 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
python写入已存在的excel数据实例
2018/05/03 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
市场部专员岗位职责
2013/11/30 职场文书
陈欧广告词
2014/03/14 职场文书
农村改厕实施方案
2014/03/22 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
大学生自荐书范文
2015/03/05 职场文书
工作后的感想
2015/08/07 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
python实现学员管理系统(面向对象版)
2022/06/05 Python