Pythonでパスワード付きZipファイルを展開(解凍)する方法

前回は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と違いバイト型に変換する必要がありません。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

関連記事



スポンサーリンク