python复制文件夹地址显示u_python文件夹复制 - 如果你真的想做一件事,你一定会找到方法; 如果你不想做一件事,你一定会找到借口。 - ITeye博客...

这是一个使用Python编写的脚本,用于从指定的源目录批量复制文件到目标目录。脚本会递归地遍历源目录,复制所有文件,并在目标目录中创建相应的结构。如果目标文件已存在但大小不同,则进行覆盖。此外,还提供了计数器来跟踪复制的文件数量。在评论中,有人提到这个脚本相比FastCopy工具在效率上较慢,FastCopy具有更高的复制速度和错误处理能力。
摘要由CSDN通过智能技术生成

#! /usr/bin/env python

# -*- coding: utf-8 -*-

#@author zcwang3@gmail.com

#@version 2010-09-25 14:57

import os

import time

sourceDir = r"\\192.168.3.250\mmtimages"

targetDir = r"D:\mmtimages"

copyFileCounts = 0

def copyFiles(sourceDir, targetDir):

global copyFileCounts

print sourceDir

print u"%s 当前处理文件夹%s已处理%s 个文件" %(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())), sourceDir,copyFileCounts)

for f in os.listdir(sourceDir):

sourceF = os.path.join(sourceDir, f)

targetF = os.path.join(targetDir, f)

if os.path.isfile(sourceF):

#创建目录

if not os.path.exists(targetDir):

os.makedirs(targetDir)

copyFileCounts += 1

#文件不存在,或者存在但是大小不同,覆盖

if not os.path.exists(targetF) or (os.path.exists(targetF) and (os.path.getsize(targetF) != os.path.getsize(sourceF))):

#2进制文件

open(targetF, "wb").write(open(sourceF, "rb").read())

print u"%s %s 复制完毕" %(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())), targetF)

else:

print u"%s %s 已存在,不重复复制" %(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())), targetF)

if os.path.isdir(sourceF):

copyFiles(sourceF, targetF)

if __name__ == "__main__":

try:

import psyco

psyco.profile()

except ImportError:

pass

copyFiles(sourceDir,targetDir)

分享到:

2010-09-25 14:58

浏览 4800

论坛回复 / 浏览 (3 / 5874)

评论

3 楼

Xorcerer

2010-10-08

让我想起rsync。

2 楼

desert3

2010-09-29

用python写的程序发现每秒大概能复制6 7 个图片文件(每个100k左右)

后来找到工具FastCopy,每秒大概能复制11个左右,速度更快,还有一些容错的功能

就直接用FastCopy,上面的代码就放弃了

1 楼

sikeh

2010-09-26

distutils.dir_util.copy_tree does what you want.

Copy an entire directory tree src to a new location dst. Both src and dst must be directory names. If src is not a directory, raise DistutilsFileError. If dst does not exist, it is created with mkpath(). The end result of the copy is that every file in src is copied to dst, and directories under src are recursively copied to dst. Return the list of files that were copied or might have been copied, using their output name. The return value is unaffected by update or dry_run: it is simply the list of all files under src, with the names changed to be under dst.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值