前回はPythonでパスワード無しのZIPファイルを作る方法を記しましたが、
今回はパスワード付きzipファイルを展開(解凍)する方法を記します。
Pythonのzipfileでパスワード付きZipファイルを展開(解凍)する方法
Pythonのデフォルトライブラリのzipfileでもパスワード付きZipファイルをパスワード無しZipファイルと同じように展開(解凍)する事は出来ます。
ただしPython3ではパスワードをByte型に変換して渡してあげる必要があります。
import zipfile #---------------------- # Zipファイル用のオブジェクトを取得する zipfilepointer=zipfile.ZipFile("c:\\test\\new2.zip","r") # パスワードを指定する zipfilepointer.setpassword(bytes(b"password02")) # Zipファイルを展開(解凍)する zipfilepointer.extractall("c:\\test\\") # Zipファイル用のオブジェクトを閉じる zipfilepointer.close() #---------------------- #---------------------- # Zipファイル用のオブジェクトを取得する zipfilepointer=zipfile.ZipFile("c:\\test\\new3.zip","r") # Zipファイルにパスワードを指定しながら展開(解凍)する zipfilepointer.extractall("c:\\test\\",pwd=bytes(b"password03")) # Zipファイル用のオブジェクトを閉じる zipfilepointer.close() #----------------------
デフォルトパスワードを指定する
zipfilepointer.setpassword(bytes(b"password02"))
zipファイルオブジェクト.setpassword( bytes(bパスワードをの文字列) )
デフォルトのパスワードをバイト型に変換して渡します。
実行して成功すれば、以降のextractallで展開しようとすると、このパスワードでZIPファイルを展開されます。
Zipファイルにパスワードを指定しながら展開(解凍)する
zipfilepointer.extractall("c:\\test\\",pwd=bytes(b"password03"))
zipファイルオブジェクト.extractall( 展開したファイルを置く場所のパス , pwd=bytes(b パスワードの文字列 ))
パスワードを指定しつつZIPファイルを展開します。
パスワードはバイト型に変換して渡します。
Pythonのpyminizipでパスワード付きZipファイルを展開(解凍)する方法
パスワード付きのZipファイルを作る時に使ったpyminizipでも展開する事が出来ます。
このpyminizipのインストール方法はこちらを参考ください。
import pyminizip #---------------------- # Zipファイルを作成する pyminizip.uncompress("c:\\test\\new2.zip","password02","c:\\test\\",0) #----------------------
Zipファイル用のオブジェクトを取得する
pyminizip.uncompress("c:\\test\\new2.zip","password02","c:\\test\\",0)
pyminizip.uncompress( 展開するZIPファイルのパス , パスワードをの文字列 , 展開する場所のパス , 数字の0 )
パスワード付きZIPを展開します。
指定するパスワードはzipfileと違いバイト型に変換する必要がありません。