网络编程
位置:首页>> 网络编程>> Python编程>> 使用Python实现从各个子文件夹中复制指定文件的方法

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

作者:bit_cs2010  发布时间:2023-11-09 12:04:05 

标签:Python,复制,文件

之前用来整理图片的小程序,拿来备忘,算是使用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'

来源:https://blog.csdn.net/bit_cs2010/article/details/52831052

0
投稿

猜你喜欢

  • 面向对象的程序设计随着程序的设计的复杂性增加,结构化程序设计方法又不够用了。不够用的根本原因是“代码重用”的时候不方便。面向对象的方法诞生了
  • 阅读上一篇:javascript面向对象编程(二) [Interface,Class.implement 接口及实现]接口规定了一些方法,如
  • 在写完前面“模块化”相关的文章后,感觉试图用“模块化”本身去讲什么是“模块化”真是不容易讲得清。相信大家都多多少少能理解什么是“模块化”,但
  • DATE_FORMA T(date, format) 根据格式串format 格式化日期或日期和时间值date,返回结果串。可用DATE_F
  • PHP 文件上传通过 PHP,可以把文件上传到服务器。本章节实例在 test 项目下完成,目录结构为:test|-----upload&nb
  • 本文介绍了在js和asp中使用FileSystemObject(fso)来: 创建、添加或删除数据,以及读取文件; 移动、复制和删除文件;创
  • A.动态页面第一步:创建转向控制页面,创建网站默认的首页文件(通常为"index.asp"或"default.
  • 登录SYS创建临时表空间/*创建临时表空间  */create temporary tablespace 表空间名  t
  • google 的设计原则中文1.易用性-聚焦在人,方便他们的生活,工作,梦想。2.速度-分秒必争3.简单-简单而强有力4.关联性- 对初学者
  • 来炫耀一下,谁看得懂我写的加密算法写了一整天了,这个代码用于ajax提交,要求就是加密后内容不能变得过长,加密解密需要效率高,至于安全性,被
  • 先把我的browser信息说明一下:这是在opera里about中显示的“浏览器识别”Opera/9.62 (Windows NT 5.1;
  • <SCRIPT language="javascript">  function&nbs
  • 本文实例讲述了Python实现删除列表中满足一定条件的元素。分享给大家供大家参考,具体如下:从列表中删除满足一定条件的元素。如:删除一个列表
  • 话说土匪老湿在他的大作 《交互设计之回归篇》 里曝光了上次有意思小组竞赛我们小组分享的话题 “瞬间的快感”,但这一极具噱
  • jQuery 1.4 源码 449 行(core.js 431 行),判断是否为函数的方法如下(思路来源于 Douglas Crockfor
  • 一个更易读的网站意味着网站使用性的改良以及提供愉悦的阅读体验。我们希望浏览者们能或者这些好处不是吗?这篇文章我们将介绍5个简单的方法让你能提
  • 由Oralce8.1开始,Oracle增加了一个新的特性就是Stored Outlines,或者称为Plan Stability(计划稳定性
  • python 与 C++ dlib人脸检测结果对比,供大家参考,具体内容如下说明:由于项目需求发现Linux下c++使用dlib进行人脸检测
  • 介绍Trie树:又称为单词查找树,是一种树形结构,可以应用于统计字符串,会在搜索引擎系统中用于对文本的词频统计,下图是一个Trie树的结构,
  • 这篇文章主要介绍了如何基于Python制作有道翻译小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
手机版 网络编程 asp之家 www.aspxhome.com