如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
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.path.exists(targetPath): os.makedirs(targetPath) #遍历文件夹 for fileName in os.listdir(sourcePath): #拼接原文件或者文件夹的绝对路径 absourcePath = os.path.join(sourcePath, fileName) #拼接目标文件或者文件加的绝对路径 abstargetPath = os.path.join(targetPath, fileName) #判断原文件的绝对路径是目录还是文件 if os.path.isdir(absourcePath): #是目录就创建相应的目标目录 os.makedirs(abstargetPath) #递归调用getDirAndCopyFile()函数 getDirAndCopyFile(absourcePath,abstargetPath) #是文件就进行复制 if os.path.isfile(absourcePath): rbf = open (absourcePath, "rb" ) wbf = open (abstargetPath, "wb" ) while True : content = rbf.readline( 1024 * 1024 ) if len (content) = = 0 : break wbf.write(content) wbf.flush() rbf.close() wbf.close() if __name__ = = '__main__' : startTime = time.clock() sourcePath = r "H:\培训资料" targetPath = r "H:\培训资料_备份" getDirAndCopyFile(sourcePath,targetPath) #时间是用来计算复制总共消耗了多少时间 endTime = time.clock() time_mi = endTime / / 60 time_s = endTime / / 1 % 60 time_ms = ((endTime * 100 ) / / 1 ) % 100 print ( "总用时:%02.0f:%02.0f:%2.0f" % (time_mi, time_s, time_ms)) |
以上这篇Python利用递归实现文件的复制方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_31187881/article/details/79007356