我是用来移动图片的,其他格式的文档也是可以的,改下后缀列表就可以了

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批量移动文件

本文地址: http://www.cppcns.com/jiaoben/python/373766.html

python批量移动文件_用python批量移动文件相关推荐

  1. java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...

    网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...

  2. python下载网页中的pdf文件_【Python】Python的urllib模块、urllib2模块批量进行网页下载文件...

    由于需要从某个网页上下载一些PDF文件,但是需要下载的PDF文件有几百个,所以不可能用人工点击来下载.正好Python有相关的模块,所以写了个程序来进行PDF文件的下载,顺便熟悉了Python的url ...

  3. python 文件批量转换格式_使用python批量化音乐文件格式转换的实例

    使用python批量化音乐文件格式转换的实例 最近在做声音文件数据处理,写了一个自动将m4a文件转化为wav的脚本. import os m4a_path = "/Users/Downloa ...

  4. 用python写名字代码_用python编写一个批量修改文件名的小程序

    1.问题描述: 原有的视频文件按序排列,但是文件名没有对内容的说明,如下图所示: 原视频文件列表.jpg 想将其批量修改成如下文件名: 图2:要改成的文件名.jpg 最终想要的效果: ok.jpg 不 ...

  5. python怎么批量下载年报_使用Python批量下载Wind数据库中的PDF报告

    原标题:使用Python批量下载Wind数据库中的PDF报告 背景 最近小编出于工作需要,准备在Wind金融数据终端批量下载上市公司2019年第一季度业绩预告.通过相关的条件检索,发现其相关数据有近百 ...

  6. python实现动态壁纸_利用Python批量提取Win10锁屏壁纸实战教程

    前言 相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美. 但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换 ...

  7. python实现动态壁纸_实战 | Python批量提取Win10锁屏壁纸

    使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美.但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换掉了. 借助 ...

  8. linux保存python文件_告诉Python将.txt文件保存到Linux上的某个目录 - python

    我试图将文件保存在QCTestFiles目录中,但是我的脚本未将文件写入指定的目录中.我的路径文件是否适用于Linux,如果不是,我如何更改代码以在另一个目录中写入和保存文件?我当前的脚本在brper ...

  9. python生成wps文件_使用Python操作XLS文件(wps中叫et)

    一旦TE需要* *信息的列表,我导出一个txt文件与python和扔给他们,但是他们很不开心,哈哈,因为他们想要将数以百计的数据放到xls文件列表输出,工作数量太大,所以我问我出口成xls文件然后给他 ...

  10. python delimiter分隔符用法_使用Python文件读写,自定义分隔符(custom delimiter)

    众所周知,python文件读取文件的时候所支持的newlines(即换行符),是指定的.这一点不管是从python的doucuments上还是在python的源码中(作者是参考了python的io版本 ...

最新文章

  1. Could not autowire field: private javax.servlet.http.HttpServletRequest
  2. 【已解决】Android5.0版本如何打开调试模式
  3. [转]张孟苏考上的不是大学
  4. 【洛谷P4719】动态DP【LCT】【矩阵】
  5. php中的图像下载函数,PHP实现的下载远程图片自定义函数分享
  6. 20155222 2016-2017-2 《Java程序设计》第8周学习总结
  7. PP视频如何将默认缓存清晰度设置成超清
  8. Linux中断一网打尽(2) - IDT及中断处理的实现
  9. python 投票计数器全班50人3个候选人_Python程序为STV投票系统,为每个人加上所有的第一偏好票...
  10. xml里写sql语句大于、小于的正确方法
  11. jQuery 学习-样式篇(九):jQuery 存储和删除元素私有数据的方法
  12. java 发送邮件多个人,java 发送邮件(支持多附件,抄送人等功能)
  13. Odin - Inspector and Serializer 学习笔记总结
  14. 《职场人士必读的88个寓言》摘要
  15. 智能手表是java的_PerfDog性能狗实测智能手表性能
  16. HP JetDirect 170X 配置
  17. 【UVA 1589 --- Xiangqi】
  18. Python3 实现简易局域网视频聊天工具
  19. windows10 添加键盘音效
  20. 如何快速查看IP地址和MAC地址

热门文章

  1. 从 Android 6.0 源码的角度剖析 Binder 工作原理 | CSDN 博文精选
  2. 漫画:什么是希尔排序?
  3. 凉山火灾启示录:面对大火,AI 能做些什么?
  4. CTO职场解惑指南系列(二)春节篇
  5. 董明珠给格力员工加薪 10 亿;张小龙回应微信 7.0 界面变丑;库克怒怼高通 | 极客头条...
  6. 7名高管、半数员工离职,如何再造乔布斯重返苹果神话?
  7. 你与产品经理之间差的才不只是一段代码!
  8. 计算机辅助正畸学模型分析,计算机辅助口腔正畸算法研究
  9. java.util.LinkedHashMap cannot be cast to Entity
  10. i计算机网络的应用程序,计算机网络技术及其在校园网的研究与应用毕业论文.doc...