検索
ホームページバックエンド開発Python チュートリアルPython ZipFileモジュールの詳しい説明

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 モジュールについて紹介した関連知識です。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python:編集と解釈に深く掘り下げますPython:編集と解釈に深く掘り下げますMay 12, 2025 am 12:14 AM

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

Pythonは解釈されたものですか、それとも編集された言語であり、なぜそれが重要なのですか?Pythonは解釈されたものですか、それとも編集された言語であり、なぜそれが重要なのですか?May 12, 2025 am 12:09 AM

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

ループ対pythonのループの場合:説明されたキーの違いループ対pythonのループの場合:説明されたキーの違いMay 12, 2025 am 12:08 AM

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

ループのために:実用的なガイドループのために:実用的なガイドMay 12, 2025 am 12:07 AM

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

Python:それは本当に解釈されていますか?神話を暴くPython:それは本当に解釈されていますか?神話を暴くMay 12, 2025 am 12:05 AM

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

同じ要素を持つPython Concatenateリスト同じ要素を持つPython ConcatenateリストMay 11, 2025 am 12:08 AM

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

解釈対編集言語:Pythonの場所解釈対編集言語:Pythonの場所May 11, 2025 am 12:07 AM

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

ループのために:Pythonでそれぞれを使用するのはいつですか?ループのために:Pythonでそれぞれを使用するのはいつですか?May 11, 2025 am 12:05 AM

Useforloopswhenthenumberofiterationsisknowninadvance、andwhiloopswheniterationsdependonacondition.1)forloopsareidealforsecenceslikelistoranges.2)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SecLists

SecLists

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

SublimeText3 英語版

SublimeText3 英語版

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

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール