python简明教程中zip打包程序的实现

最近试了一把用Python完成文件压缩的代码:

import os
import time

# 1. 需要备份的文件与目录将被指定在一个列表中。
source = 'E:\\PythonTest\\BackupTest\\code'
#2. 备份文件必须存储在一个主备份目录中
target_dir='E:\\PythonTest\\BackupTest\\backup'
# 3. 备份文件将打包压缩成 zip 文件。
# 4. zip 压缩文件的文件名由当前日期与时间构成。
target=target_dir+os.sep+time.strftime('%Y%m%d%H%M%S')+'.zip'
# 如果目标目录还不存在,则进行创建
if not os.path.exists(target_dir):
    os.mkdir(target_dir)
# 5. 我们使用 zip 命令将文件打包成 zip 格式
zip_command='zip -r {0} {1}'.format(target,''.join(source))
# 运行备份
print('zip command is:')
print(zip_command)
if os.system(zip_command)==0:
print('Successful backup to',target)
else:
print('Backup FAILED')

 

用cmd执行之后,发现zip命令在Windows平台不能执行

因为zip命令是Linux系统中的,后来找了一圈,找到了“GnuWin32”,因为GnuWin32主要是对习惯linux工具的人员,在windows上提供一套类似的命令。GnuWin32里面包括很多标准命令,具体参见:http://gnuwin32.sourceforge.net/packages.html.

在我们这个实例中,要用到的是zip命令,所以我们要找到GnuWin32 zip的安装包

这一步需要在http://gnuwin32.sourceforge.net/packages.html上面这个网站中,找到如下zip安装包,下载后安装

python简明教程中zip打包程序的实现

python简明教程中zip打包程序的实现

安装路径可以是安装GnuWin32的子目录中

安装GnuWin32 zip成功之后,把安装路径(比如“C:\Program Files (x86)\GnuWin32\bin”)添加至系统变量path中

添加系统变量之后,电脑需要重启一下,然后在执行刚才的代码,成功了

 在我们制定的路径E:\PythonTest\BackupTest\backup中,我们也看到了最终压缩成功的文件"20170831144109.zip".