python 复制文件夹内容 并结构一致_使用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'

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值