在WINDOWS系统下,无法使用例程中的
zip_command = "zip -qr '%s' %s" % (target, ' '.join(source)),
需要下载7Z_ZIP来实现zip_command
下载7Z -ZIP点此
教程:
1.在7Z_ZIP的安装目录下找到7z.exe,将7z.exe复制到C:\windows下
2.右击我的电脑–>高级系统设置–>环境变量。在系统变量路径中加入Python的路径和C:\Windows路径
代码:
#=============================================================================
#功能描述:将一个文件或文件夹或文件文件夹一起压缩存入在指定路径,
# 并命名zip文件为 “ *** + 日期 ” 格式
#=============================================================================
import os
import time
#1.需要备份的 文件 或者 文件夹,可以通过列表实现
# 如果要同时备份可以这么写:
# source = [r'F:\WorkSpace\PythonWorkSpace',r'F:\my_code.txt']
source = [r'F:\WorkSpace\PythonWorkSpace\what_i_want_to_backup.txt']
#2.需要备份的存放目录的一部分路径。
# 事实上,我们需要的是target这个对象,而这个对象是文件路径,而不是文件的存放路径!
# 所以,F:\WorkSpace\PythonWorkSpace\backup_file 这个并非我们想要存放的文件夹路径
# 而F:\WorkSpace\PythonWorkSpace才是我们想要存放的文件夹路径
# backup_file是我们想要压缩的zip文件的名称的一部分(真正的名称是backup_file+日期)
part_of_target_dir = r'F:\WorkSpace\PythonWorkSpace\backup_file'
#3要压缩的文件名 + 日期
target = part_of_target_dir + time.strftime('%Y%m%d%H%M%S')+'.zip'
#print (target)
zip_command = "7z a -tzip %s %s -r" %(target, ' '.join(source))
print (zip_command)
if os.system(zip_command) == 0:
print( '\n Successfull back to',target)
else:
print( '\n backup failed')