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的!