使用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


猜你喜欢
- 原文:http://blog.rexsong.com/?p=746#comments加速的关键,不是降低重量,而是减少个数。如果重量在200
- import time,datetime import urllib2 def
- 本文实例为大家分享了微信小程序实现图片上传功能的具体代码,供大家参考,具体内容如下前端:微信开发者工具后端:.Net服务器:阿里云这里介绍微
- Insert 和 Update假设现在你要把下面的数据插入到数据库中.ID = 3TheDate=mktime(0,0,0,8,31,200
- 本文介绍了python中的计时器timeit的使用方法,分享给大家,具体如下:timeit通常在一段程序的前后都用上time.time(),
- vue-element-admin中node-sass换成dart-sass,安装依赖报code 128等问题1、node-sass换成da
- 前言随着我们不断地在一个文件中添加新的功能, 就会使得文件变得很长。 即便使用了继承,也抑制不住类的成长。为了解决这一问题,我们可以将类存储
- python 换位密码算法的实例详解一前言:换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而
- MySQL中SQL Mode的查看与设置MySQL可以运行在不同的模式下,而且可以在不同的场景下运行不同的模式,这主要取决于系统变量 sql
- 在知识库的建立的时候,用普通VARCHAR2存放文章是显然不够的,只有区区4000的字节,放不了多少字, 而CLOB数据类型,则能最多存放8
- mysql的子查询的优化一直不是很友好,一直有受业界批评比较多,也是我在sql优化中遇到过最多的问题之一,你可以点击这里 ,这里来获得一些信
- 这两天在整理一些文章,但是文件夹中每个文章没有序号会看起来很乱,所以想着能不能用Python写一个小脚本。于是乎,参考了多方资料,简单写了下
- 在开发中有些敏感接口,例如用户余额提现接口,需要考虑在并 * 况下接口是否会发生问题。如果用户将自己的多条提现请求同时发送到服务器,代码能否扛
- Python之Web框架Django项目搭建全过程IDE说明:Win7系统Python:3.5Django:1.10Pymysql:0.7.
- <SPAN style="FONT-SIZE: 14px"><!DOCTYPE html> &l
- 在pycharm中创建django项目的方法步骤,分享给大家,具体如下:创建完成后,我们可以看看django项目是否可以启动在Termina
- vue在data中定义图片相对路径:data() { return { active: 1, ico
- 本文实例为大家分享了python实现AES加密和解密的具体代码,供大家参考,具体内容如下参考:python实现AES加密和解密AES加密算法
- 分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析。该参数可以在全局和
- 在 Go 中,有几种不同的方法来检查一个值是null还是empty。您应该使用的具体方法取决于您正在检查的值的类型。例如,如果你正在检查一个