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

相关推荐

  • Python利用递归实现文件的复制方法

    如下所示: import os import time from collections import deque """ 利用递归实现目录的遍历 @para sourcePath:原文件目录 @para targetPath:目标文件目录 """ def getDirAndCopyFile(sourcePath,targetPath): if not os.path.exists(sourcePath): return if not os.pa

  • Python通过递归遍历出集合中所有元素的方法

    本文实例讲述了Python通过递归遍历出集合中所有元素的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: '''''通过递归遍历出集合中的所有元素 Created on 2013-9-29 @author: L.Eric '''  def print_List(list_nums):      for each_item in list_nums :           if isinstance(each_item,list):              print_Lis

  • Python利用递归和walk()遍历目录文件的方法示例

    前言 经常需要检查一个"目录或文件夹"内部有没有我们想要的文件或者文件夹,就需要我们循环迭代出所有文件和子文件夹,Python中遍历指定目录下所有的文件和文件夹,包含多级目录,有两种方法,一种是通过递归思想去遍历,另一种是os模块的walk()函数下面话不多说,就来一起看看详细的介绍: 列出目录结构 一.递归方法 #coding:utf-8 import os allfile=[] def getallfile(path): allfilelist=os.listdir(path) f

  • python 实现文件的递归拷贝实现代码

    所以就想把这些照片翻着看一遍,可是拷出来的照片手机 里是按时间自动分文件夹的,一个一个文件夹拷很是麻烦,于是打算写个python小脚本来完成这个工作(扯这么多,终于 到主题了,囧) 这是待拷贝的文件夹根目录,每个子目录下都有若干照片. 废话少说,上代码: 复制代码 代码如下: # -*- coding: utf-8 -*- #!/usr/bin/python #Filename:copyfile.py import os,shutil def mycopy(srcpath,dstpath): i

  • Python实现FTP上传文件或文件夹实例(递归)

    本文实例讲述了Python实现FTP上传文件或文件夹实例.分享给大家供大家参考.具体如下: import sys import os import json from ftplib import FTP _XFER_FILE = 'FILE' _XFER_DIR = 'DIR' class Xfer(object): ''''' @note: upload local file or dirs recursively to ftp server ''' def __init__(self): s

  • 使用 Python 实现文件递归遍历的三种方式

    今天有个脚本需要遍历获取某指定文件夹下面的所有文件,我记得很早前也实现过文件遍历和目录遍历的功能,于是找来看一看,嘿,不看不知道,看了吓一跳,原来之前我竟然用了这么搓的实现. 先发出来看看: def getallfiles(dir): """遍历获取指定文件夹下面所有文件""" if os.path.isdir(dir): filelist = os.listdir(dir) for ret in filelist: filename = dir

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

  • 使用Python遍历文件夹实现查找指定文件夹

    目录 1. 文件夹结构 2. 查找指定文件夹下指定文件 3. 查找指定文件夹下所有相同名称的文件 4. 查找指定文件夹下所有相同后缀名的文件 1. 文件夹结构 指定文件夹:E:/Code/Python/test 指定文件:test.txt 指定文件夹下的目录及文件: 文件夹a: a.txt test.txt 文件夹txt: test.txt 文件b.txt test.py test.txt 2. 查找指定文件夹下指定文件 import os # 查找该层文件夹下指定文件 def search_f

  • python实现指定文件夹下的指定文件移动到指定位置

    本文主要是写了一个将指定文件夹下的指定文件类型移动到指定位置,具体内容如下 # coding:utf-8 import os import shutil import sys reload(sys) sys.setdefaultencoding('utf8') # print os.getcwd() # 有些文件夹下面有很多文件夹,每个文件夹下面有很多视频文件,现在通过脚本,将文件夹下面的所有文件转移到一个目录下面 # 统计访问的文件夹数量及文件数量 countNum = [0, ] count

  • Append打开指定文件夹中的数据文件就象这些文件在当前文件夹中一样

    允许程序打开指定文件夹中的数据文件就象这些文件在当前文件夹中一样.如果在没有参数的情况下使用,则 append 命令显示附加的目录列表. 语法 append [;] [[Drive:]Path[;...]][/x:{on|off}][/path:{on|off}] [/e] 参数 取消附加文件夹列表. [Drive:}Path 指定要附加到当前文件夹的驱动器和文件夹.如果未指定驱动器,将默认使用当前驱动器.可以指定 [Drive:]Path 的多个项,各项之间要用分号隔开. /x:{on | o

  • 用vbs实现按创建日期的顺序列出一个文件夹中的所有文件

    问: 你好,脚本专家!如何按创建日期的顺序列出一个文件夹中的所有文件? -- CL 答: 你好,CL.您知道,如果我们雄心勃勃并且努力工作,我们会坐下来为您写一个脚本,以使用 WMI 返回一个文件夹中的所有文件.该脚本将获取有关所有这些文件的信息,并将该数据存储在未连接的记录集中.然后,在该记录集中设置排序顺序以按创建日期和时间对文件进行排列.(接着,我们进行大量的重复性工作,以将 WMI 的日期时间值转换为易读的日期时间格式.)最后,我们将记录集中的所有值回显到屏幕上.它需要花费大量时间并编写

  • Java如何通过File类方法删除指定文件夹中的全部文件

    前言 对delete的解说 那么问题来了!!! (②中的问题,怎么删除文件夹里所有文件,想必很多同学也和我一样懵,) 别着急(往下看) 要用到的方法 (递归思想) 如果文件夹里面还有文件夹,就继续往下找(可能不太官方,个人理解) 接下来 代码展示 方法一: package com.study; import java.io.File; import java.io.IOException; /** 1. 应用场景 2. delete删除只能删除空文件夹 和文件 3. 删除指定文件夹 */ pub

  • java如何读取某个文件夹中的全部文件(包括子文件夹)

    目录 java读取某个文件夹中的全部文件 主要思路 示例 java获取文件夹下指定的文件 java读取某个文件夹中的全部文件 主要思路 使用file.listFiles()函数可以获取到某文件夹下的所有文件信息,如果需要访问子文件夹下的文件,则需要对获取到的文件信息进行递归遍历,如果是目录则继续统计,如果是文件则加入文件列表中 示例 例如我想读取该java项目中所有的文件(包括子文件夹中的文件) 则将第十一行的basePath修改为该文件夹所在路径,运行结果如下图所示 代码 package cn

  • Powershell小技巧--将文件夹中的大文件分成若干份

    朋友有一文件夹,全部是EML文件,约20G.他需要把这20G文件按每个文件夹2G分成10个.于是乎写了以下脚本: #目标文件夹 $scrfile = "d:\test" #起始目录名 $directory = 0 #1825361100 #76547428 #判断当目录的文件数大于0时while循环为真 while( (dir -Path $scrfile -Filter *.eml ).count -gt 0) { #起始目录名为1 $directory++ #建立目录 New-It

  • JAVA遍历一个文件夹中的所有文件的小例子

    复制代码 代码如下: import java.io.File;import java.util.ArrayList; public class FileTest { private static ArrayList<String> filelist = new ArrayList<String>(); public static void main(String[] args) throws Exception { String filePath = "E://Strut

  • Python实现清除文件夹中重复视频

    目录 前言 1.科普 二进制文件 摘要算法(MD5) shutil模块 2.视频清除 视频全在一个文件夹里 视频在不同的文件夹里 3.总结 前言 在早期学Python的时候,买了一本<Python编程快速上手-让繁琐工作自动化>. 这本书里面讲得都比较基础,不过却非常的实用. 估计从书名大家伙们就应该能体会到. 本次根据书中的「读写文件」章节内容,实现一个简单又实用的小操作. 涉及到的模块有os.hashlib.shutil. 利用这三个模块实现对文件夹中的重复视频进行清除,实现文件夹中无重复

随机推荐