【Python】解壓zip包小代碼

 

import sys, os, zipfile

def unzip_single(src_file, dest_dir, password):
    ''' 解壓單個文件到目標文件夾。
    '''
    if password:
        password = password.encode()
    zf = zipfile.ZipFile(src_file)
    try:
        zf.extractall(path=dest_dir, pwd=password)
    except RuntimeError as e:
        print(e)
    zf.close()


#python unzip.py inputfile.zip outputpath
if __name__ == "__main__":
    print("----------------------------------")
    print(sys.argv[1])
    print(sys.argv[2])
    print("----------------------------------")
    source_dir = sys.argv[1]
    dest_dir = sys.argv[2]
    password = None
    # 判斷源路徑是否合法
    if not os.path.exists(source_dir):
        print("壓縮文件或壓縮文件所在路徑不存在!")
        exit()
    if not os.path.isdir(source_dir) and not zipfile.is_zipfile(source_dir):
        print("指定的源文件不是一個合法的.zip文件!")
        exit()
    if not os.path.exists(dest_dir):
       os.mkdir(dest_dir)
    unzip_single(source_dir, dest_dir, password)

實測是OK的!

 

 

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