需求:遍历一个文件夹,将其中修改日期在2015-02-01——2015-02-20之间的文件拷贝出来,并且拷贝出来的文件要保持原来的目录结构。
实现代码(python3.3):
# encoding: utf-8
import os
import shutil
import time
time0 = "2015-02-01"#起始日期
time1 = "2015-02-20"#结束日期
targetDir = "D:\\game"#目标目录
print("正在处理,请稍等.....")
curDir = os.getcwd()
for root, dirs, files in os.walk(curDir):
#先创建目标目录
curFolder = root[len(curDir)+1:] #提取当前文件夹
tempTargetDir = os.path.join(targetDir, curFolder) #生成目标目录绝对路径
# print(tempTargetDir)
if os.path.exists(tempTargetDir):
shutil.rmtree(tempTargetDir)
#再拷贝文件
t0 = time.mktime(time.strptime(time0, "%Y-%m-%d"))
t1 = time.mktime(time.strptime(time1, "%Y-%m-%d"))+3600*24
for fileName in files:
absFileName = os.path.join(root, fileName)
if os.path.splitext(absFileName)[1] != '.py' and os.path.getmtime(absFileName) >= t0 and os.path.getmtime(absFileName) <= t1:
if not os.path.exists(tempTargetDir):
os.makedirs(tempTargetDir)
print("正在拷贝文件:", absFileName)
shutil.copy(absFileName, tempTargetDir)
os.system("pause")
使用:将文件放到目标文件夹,双击即可。
原文:http://blog.csdn.net/risemypassion/article/details/43529711