1. 程式人生 > >通過zipfile解壓指定目錄下的zip文件

通過zipfile解壓指定目錄下的zip文件

code window 原來 print 解壓 err system ssi all

代碼:

# -*- coding: utf-8 -*-
import os
import zipfile
import platform
import multiprocessing

# 解壓後的文件夾與原來的zip文件同名且在相同目錄下
# 確保windows下解壓後的文件夾名不亂碼
file_encoding = "utf-8"
if platform.system() == "Windows":
    file_encoding = "gbk"

# 將zip文件解壓到其所在目錄
def unzip(file):
    file_name, ext = os.path.splitext(file)
    
if ext == ".zip": print unzip, file f = zipfile.ZipFile(file) f.extractall(path=file_name.encode(file_encoding)) # 通過path指定解壓的路徑 if __name__ == "__main__": path = raw_input("請輸入要解壓的zip文件所在目錄: ") print 要解壓的zip文件所在目錄為:, path path = path.decode(‘utf-8‘) # 不同的系統和平臺有各自的編碼 ,為了實現系統或平臺之間的信息交互可能需要編碼轉換
# 主要是為了兼容windows ,否則遇到中文路徑 會出現 [Errno 2] # 切換到指定目錄下 os.chdir(path) file_list = os.listdir(path) # 獲取指定文件夾下的文件列表 pool = multiprocessing.Pool() # 創建進程池 pool.map(unzip, file_list) pool.close() pool.join()

通過zipfile解壓指定目錄下的zip文件