使用Python实现从各个子文件夹中复制指定文件的方法


Posted in Python onOctober 25, 2018

之前用来整理图片的小程序,拿来备忘,算是使用Python复制文件的一个例子。

# -*- coding: utf-8 -*-
#程序用来拷贝文件并输出图片采集日期等其他信息到Excel中
#文件夹结构:
#2016_07_07
#  -Data_07_07_001
#   -Random1
#    -image001_co.pgm
#    -image001_c1.pgm
#    -image002_co.pgm
#    -image002_c1.pgm
#    -……
#   -Random2
#   -……
#  -Data_07_07_002
#  -Data_07_07_003
#  -……
#所以我们只是拷贝每个子文件夹中,Random1文件夹中的_co.pgm数据
 
import os
import re
import xlwt
 
hang=0
#递归复制文件夹内的文件
def copyFiles(sourceDir,targetDir): 
 global hang   #全局变量,记录即将写入Excel的行号
 worksheet.write(hang, 0, label = sourceDir)
 for file in os.listdir(sourceDir):
  frames = '('+file[file.find('_')+1:]+')' #待写入Excel中的数据
  sourceDir1 = os.path.join(sourceDir,file) #路径名拼接
  targetDir1 = os.path.join(targetDir,file)
  for file in os.listdir(sourceDir1):
   sourceDir2 = os.path.join(sourceDir1,file) 
   #忽略某些特定的子文件夹
   if sourceDir2.find("Random1")>0: 
   #列出源目录文件和文件夹
    count= -1
    for file in os.listdir(sourceDir2): 
    #拼接完整路径
     if re.search('_c0.pgm',file):
      count+=1
      sourceFile = os.path.join(sourceDir2,file) 
      targetFile = os.path.join(targetDir1,file) 
 
      if os.path.isfile(sourceFile):
       if not os.path.exists(targetDir1):
        os.makedirs(targetDir1)
       if not os.path.exists(targetFile) or (os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(sourceFile))):
        open(targetFile, "wb").write(open(sourceFile, "rb").read())
        print targetFile+" copy succeeded"
    frames = '0-'+str(count)+frames
    worksheet.write(hang, 1, label = 1)
    worksheet.write(hang, 2, label = frames)
    hang+=1
    print frames
 
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Worksheet')
copyFiles("F:/2016_07_07","F:/07_07")
workbook.save('auto_book.xls')
print 'end'

以上这篇使用Python实现从各个子文件夹中复制指定文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
Aug 16 Python
python构建自定义回调函数详解
Jun 20 Python
python 全局变量的import机制介绍
Sep 07 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
python爬取Ajax动态加载网页过程解析
Sep 05 Python
python对Excel按条件进行内容补充(推荐)
Nov 24 Python
Python3 Click模块的使用方法详解
Feb 12 Python
python实现连连看游戏
Feb 14 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
浅析Python 序列化与反序列化
Aug 05 Python
python中复数的共轭复数知识点总结
Dec 06 Python
python 实现对文件夹中的图像连续重命名方法
Oct 25 #Python
python微信公众号之关注公众号自动回复
Oct 25 #Python
python 文件查找及内容匹配方法
Oct 25 #Python
利用python循环创建多个文件的方法
Oct 25 #Python
用python生成1000个txt文件的方法
Oct 25 #Python
Python爬虫之正则表达式的使用教程详解
Oct 25 #Python
python实现键盘控制鼠标移动
Nov 27 #Python
You might like
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
微信支付开发告警通知实例
2016/07/12 PHP
php简单统计中文个数的方法
2016/09/30 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
分页栏的web标准实现
2011/11/01 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
Form表单上传文件(type="file")的使用
2017/08/03 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
javascript实现画板功能
2020/04/12 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
Python pandas常用函数详解
2018/02/07 Python
Python对象与引用的介绍
2019/01/24 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
精彩的推荐信范文
2013/11/26 职场文书
新娘父亲婚礼致辞
2014/01/16 职场文书
应用英语专业自荐信
2014/01/26 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
消防演习通知
2015/04/25 职场文书
创业计划书之物流运送
2019/09/17 职场文书
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL