Python zipfile モジュールは、zip 形式のエンコーディングを圧縮および解凍するために使用されます。zipfile には、ZipFile と ZipInfo という 2 つの非常に重要なクラスがあります。 ZipFile は zip ファイルの作成と読み取りに使用されるメイン クラスですが、ZipInfo は zip ファイル内の各ファイルに関する情報を保存します。
たとえば、Python zipfile モジュールを読み取りたい場合、ファイル名がファイルのパスであると仮定します。
import zipfile
z =zipfile.ZipFile(filename, 'r')
# ここでの 2 番目のパラメーターは、r で zip ファイルを読み取り、w で zip ファイルを作成します。 zip file
for f in z.namelist():
print f
上記のコードは、zip アーカイブ内のすべてのファイルの名前を読み取ります。 z.namelist() は、圧縮パッケージ内のすべてのファイル名のリストを返します。
次のコードを見てください:
zipfile をインポート
z = zipfile.ZipFile(filename, 'r')
for i in z.infolist():
print i.file_size, i.header_offset
z.infolist()ここで使用されるのは、圧縮パッケージ内のすべてのファイルの情報、つまり ZipInfo のリストです。 ZipInfo オブジェクトには、圧縮パッケージ内のファイルに関する情報が含まれています。最も一般的に使用されるのは、filename、file_size、header_offset です。これらは、それぞれ、圧縮パッケージ内のファイル名、ファイル サイズ、およびファイル データのオフセットです。実際、前の z.namelist() は ZipInfo 内のファイル名を読み取り、それをリストとして返しました。
圧縮パッケージからファイルを解凍する方法は、ZipFile の read メソッドを使用することです:
import zipfile
z = zipfile.ZipFile(filename, 'r')
print z.read(z.namelist()[0])
こう読んでください z.namelist()で最初のファイルを出力して画面に出力する もちろんファイルに保存することもできます。次に、zip アーカイブを作成する方法を示します。これは、読み取り方法とよく似ています。
import zipfile, os
z = zipfile.ZipFile(filename, 'w')
# ここでの 2 番目のパラメータは w であり、ここでの filename は圧縮パッケージの名前であることに注意してください
testdir というファイル内のすべてのファイルを圧縮パッケージに追加するとします (ここでは、第 1 レベルのサブディレクトリ内のファイルのみが追加されます):
if os.path.isdir(testdir):
for d in os.listdir(testdir):
z。 write(testdir+os.sep+d)
# close() を呼び出す必要があります。
z.close()
上記のコードは非常に単純です。別の質問について考えてみましょう。test/111.txt を圧縮パッケージに追加し、それを test22/111.txt としてパッケージに配置したい場合はどうすればよいでしょうか。実際、これは Python ZipFile モジュールの write メソッドの 2 番目のパラメーターの役割です。次のように呼び出します。
z.write("test/111. txt", " test22/111.txt")
上記は、Python ZipFile モジュールについて紹介した関連知識です。

pythonusesahybridmodelofcompilation andtertation:1)thepythoninterpretercompilessourcodeodeplatform-indopent bytecode.2)thepythonvirtualmachine(pvm)thenexecuteTesthisbytecode、balancingeaseoputhswithporformance。

pythonisbothintersedand compiled.1)it'scompiledtobytecode forportabalityacrossplatforms.2)bytecodeisthenは解釈され、開発を許可します。

loopsareideal whenyouwhenyouknumberofiterationsinadvance、foreleloopsarebetterforsituationsは、loopsaremoreedilaConditionismetを使用します

henthenumber ofiterationsisknown advanceの場合、dopendonacondition.1)forloopsareideal foriterating over for -for -for -saredaverseversives likelistorarrays.2)whileopsaresupasiable forsaresutable forscenarioswheretheloopcontinupcontinuspificcond

pythonisnotpurelyLepted; itusesahybridapproachofbytecodecodecodecodecodecodedruntimerttation.1)pythoncompilessourcodeintobytecode、whodythepythonvirtualmachine(pvm).2)

ToconcatenateListsinpythothesheElements、使用:1)Operatortokeepduplicates、2)asettoremoveduplicates、or3)listcomplunting for controloverduplicates、各メトドハスディフェルフェルフェントパフォーマンスアンドソーダーインプリテーション。

pythonisantertedlanguage、useaseofuseandflexibility-butfactingporformantationationsincriticalapplications.1)解釈されたlikepythonexecuteline-by-lineを解釈します

Useforloopswhenthenumberofiterationsisknowninadvance、andwhiloopswheniterationsdependonacondition.1)forloopsareidealforsecenceslikelistoranges.2)


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

WebStorm Mac版
便利なJavaScript開発ツール
