如何在Windows平臺實現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的安裝包:


安裝GnuWin32 zip成功之後,把安裝路徑(比如“C:\Program Files (x86)\GnuWin32\bin”)添加至系統變量path中:


添加系統變量之後,電腦需要重啓一下,然後在執行剛纔的代碼,成功了:


 在我們制定的路徑E:\PythonTest\BackupTest\backup中,我們也看到了最終壓縮成功的文件"20170831144109.zip".

精彩推薦:

更多精彩內容,敬請關注公衆號: 存儲隨筆,Memory-logger.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章