代码拉取完成,页面将自动刷新
'''备份文件用的脚本.
使用方法为:指定一个根目录,以及一个时间段.
找出该根目录(含子目录)下的所有文件中,创建时间与最后修改时间的较大者处于指定时间段的文件.
对这些文件进行备份.
目前的备份方法是生成三个文本文件记录所有这些文件,所有目录,以及基本信息,然后再写一个脚本复制.
本脚本只做到记录这一步.另外写脚本进行复制,也可以写脚本进行其他压缩打包等操作.
注意目录记录是有顺序的,方便访问并以此生成新的对应目录
'''
import os
import time
import sys
class FileFilter:
## 通过指定根目录,开始时间,结束时间(时间格式为"%Y-%m-%d %H:%M:%S")指定备份范围,
## 并指定生产的记录文件(默认为当前目录下的logFiles.txt, 目录表文件logDirs.txt(用于备份时生成对应目录),
## 备份设定信息logInfo.txt
def __init__(self, rootDir, startTime, endTime,
logFiles = sys.path[0]+'\\logFiles.txt', logDirs = sys.path[0]+'\\logDirs.txt',
logInfo = sys.path[0]+'\\logInfo.txt'):
# 复制参数
self._rootDir = rootDir
self._startTime = startTime
self._endTime = endTime
self._logFiles = logFiles
self._logDirs = logDirs
self._logInfo = logInfo
# 需要备份的文件表
self._fileList = []
# 目录表
self._dirList = []
# 真正的开始,结束时间
self._realStart = time.mktime(time.strptime(self._startTime, "%Y-%m-%d %H:%M:%S"))
self._realEnd = time.mktime(time.strptime(self._endTime, "%Y-%m-%d %H:%M:%S"))
return
## 指定一个文件的完整路径,检查是否符合备份标准
def _checkFile(self, fpath):
if(not os.path.isfile(fpath)):
return False
mtime = os.path.getmtime(fpath) # 修改时间
ctime = os.path.getctime(fpath) # 创建时间
lastTime = max(mtime,ctime)
if ((lastTime < self._realStart) or (lastTime > self._realEnd)):
return False
return True
## 主方法,遍历根目录,写入记录文本
def main(self):
for rt, dirs, files in os.walk(self._rootDir):
for f in files:
fpath = rt + '\\' +f
if (self._checkFile(fpath)):
self._fileList.append(fpath)
for d in dirs:
self._dirList.append(rt+'\\'+d)
# 写入基本信息日志
text = 'rootDir='+self._rootDir+'\nstartTime='+self._startTime+'\nendTime='+self._endTime
with open(self._logInfo, 'w') as f:
f.write(text)
print('备份信息写入完成:')
print(text)
print('='*20)
# 写入目录记录
text = '\n'.join(self._dirList)
with open(self._logDirs, 'w') as f:
f.write(text)
print('目录文件查找完成:')
print(text)
print('='*20)
# 写入备份文件记录
text = '\n'.join(self._fileList)
with open(self._logFiles, 'w') as f:
f.write(text)
print('备份文件记录完成:')
print(text)
print('='*20)
# 完成
print('备份准备与信息记录全部完成!')
return
## 开始
if __name__ == '__main__':
rootDir = r'D:\MyDocument\MyNote'
startTime = "2018-11-13 1:1:1"
endTime = "2018-11-13 15:1:1"
ff = FileFilter(rootDir ,startTime, endTime)
ff.main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。