1 Star 0 Fork 0

流风一剑1990/FileBackUp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ZipBackup.py 1.96 KB
一键复制 编辑 原始数据 按行查看 历史
setycyas 提交于 2018-11-15 11:44 . Upload ZipBackup.py main.py
'''用zip打包,不压缩只打包.需要用rar添加恢复记录的自己再rar吧'''
import os
import sys
import zipfile
class ZipBackup:
## 参数依次为:创建的压缩包,压缩包中的根目录名,后面是3个备份信息文件
def __init__(self,
zipFpath = sys.path[0]+'\\ZipBackup.zip',
zipRoot = 'Backup_zip',
logFiles = sys.path[0]+'\\logFiles.txt',
logDirs = sys.path[0]+'\\logDirs.txt',
logInfo = sys.path[0]+'\\logInfo.txt'):
# 复制参数
self._zipFpath = zipFpath
self._zipRoot = zipRoot
self._logFiles = logFiles
self._logDirs = logDirs
self._logInfo = logInfo
# 读取根目录,备份信息
with open(self._logInfo, 'r') as f:
self._rootDir = (f.readline().split('='))[1].strip()
self._startTime = (f.readline().split('='))[1].strip()
self._endTime = (f.readline().split('='))[1].strip()
# 需要压缩的文件
self._fileList = []
with open(self._logFiles, 'r') as f:
for line in f:
if line:
self._fileList.append(line.strip())
# 构造方法准备完成
return
## 执行主方法, 现在就打包信息文件了,需要rar的一并打包并添加rr3吧.
def main(self):
with zipfile.ZipFile(self._zipFpath, 'w') as myZip:
for srcname in self._fileList:
arcname = srcname.replace(self._rootDir, self._zipRoot)
myZip.write(srcname, arcname = arcname)
#myZip.write(self._logInfo, arcname = self._zipRoot+'\\'+os.path.basename(self._logInfo))
#myZip.write(self._logFiles, arcname = self._zipRoot+'\\'+os.path.basename(self._logFiles))
#myZip.write(self._logDirs, arcname = self._zipRoot+'\\'+os.path.basename(self._logDirs))
myZip.comment = (self._rootDir+'\nFrom:'+self._startTime+'\nTo:'+self._endTime).encode('utf8')
return
## 开始
if __name__ == '__main__':
zb = ZipBackup()
zb.main()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/liufengyijian/FileBackUp.git
git@gitee.com:liufengyijian/FileBackUp.git
liufengyijian
FileBackUp
FileBackUp
master

搜索帮助