Python 例を含むZIPファイル
⚡ スマートサマリー
Python 組み込みの shutil および zipfile モジュールを使用して ZIP アーカイブを作成します。ここでは、make_archive() を使用してディレクトリ全体を zip 化する方法、ZipFile を使用して特定のファイルを zip 化する方法、およびtracアーカイブの内容を閲覧、一覧表示、および読み込む。

Python zip/tar アーカイブを素早く作成できます。
次のコマンドはディレクトリ全体を圧縮します
shutil.make_archive(output_filename, 'zip', dir_name)
次のコマンドはアーカイブしたいファイルを制御します
ZipFile.write(filename)
ディレクトリ全体を圧縮する方法 Python
Zipファイルを作成する手順は次のとおりです。 Python
ステップ1) アーカイブファイルを作成するには Pythonインポート文が正しく、順序どおりに記述されていることを確認してください。ここではアーカイブのインポート文は from shutil import make_archive
Code 説明
- モジュール shutil から make_archive クラスをインポートします。
- Split関数を使用して、テキストファイルの場所へのパスからディレクトリとファイル名を分割します(guru99)
- 次に、モジュール「shutil.make_archive(“guru99 archive, “zip”, root_dir)」を呼び出して、zip形式のアーカイブファイルを作成します。
- その後、圧縮したいもののルート ディレクトリを渡します。 したがって、ディレクトリ内のすべてが圧縮されます
- コードを実行すると、パネルの右側にアーカイブ zip ファイルが作成されていることがわかります。
ステップ2) アーカイブファイルが作成されたら、ファイルを右クリックしてOSを選択すると、以下のようにアーカイブファイルが表示されます。
これで、archive.zip ファイルが OS 上に表示されます (Windows エクスプローラ)
ステップ3) ファイルをダブルクリックすると、そこに含まれるすべてのファイルのリストが表示されます。
ZipFileを使用して特定のファイルを圧縮する方法
ステップ4) In Python アーカイブに含める特定のファイルを定義できるため、アーカイブをより細かく制御できます。この場合、アーカイブに2つのファイルを含めます。 「ぐる99.txt」 (NAIST) と 「guru99.txt.bak」。
Code 説明
- zipファイルからZipfileクラスをインポートする Python モジュール。このモジュールは、zipファイルの作成を完全に制御します
- (「testguru99.zip, “w”) という名前の新しい Zip ファイルを作成します」
- 新しい Zipfile クラスを作成するには、ファイルであるため権限を渡す必要があるため、情報を newzip としてファイルに書き込む必要があります。
- 変数「newzip」を使用して、作成した zip ファイルを参照しました
- 「newzip」変数の書き込み関数を使用して、「guru99.txt」と「guru99.txt.bak」ファイルをアーカイブに追加します。
コードを実行すると、パネルの右側に「guru99.zip」という名前のファイルが作成されることがわかります。
お願い: ここでは、「with」スコープ ロックを使用しているため、「newzip.close」のようなファイルを「閉じる」コマンドは与えていません。そのため、プログラムがこのスコープの外にある場合、ファイルはクリーンアップされて自動的に閉じられます。
ステップ5) ときにあなたを -> ファイル (testguru99.zip) を右クリックし、 -> OS を選択します (Windows エクスプローラ)すると、以下のようにフォルダー内のアーカイブ ファイルが表示されます。
ファイル「testguru99.zip」をダブルクリックすると、別のウィンドウが開き、そこに含まれるファイルが表示されます。
完全 Python Code ZIPファイルを作成する
これが完全なコードです
Python 2例
import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive
def main():
# Check if file exists
if path.exists("guru99.txt"):
# get the path to the file in the current directory
src = path.realpath("guru99.txt");
# rename the original file
os.rename("career.guru99.txt","guru99.txt")
# now put things into a ZIP archive
root_dir,tail = path.split(src)
shutil.make_archive("guru99 archive", "zip", root_dir)
# more fine-grained control over ZIP files
with ZipFile("testguru99.zip","w") as newzip:
newzip.write("guru99.txt")
newzip.write("guru99.txt.bak")
if __name__== "__main__":
main()
Python 3例
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive","zip",root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip", "w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak")
方法tract ZIPファイルを解凍します Python
アーカイブを解凍するには、ZipFile で読み取りモードで開き、ex を呼び出します。tractall() から ex へtracすべてのファイル、またはtract() は単一のメンバーを取り出すためのものです。
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: myzip.extractall("extracted_files")
extractall() メソッドは、引数として渡されたフォルダにアーカイブされたすべてのファイルを書き込みます。
ZIPファイル内のファイルを一覧表示する方法 Archive
外部の要因なしにアーカイブを検査できますtracting it。namelist() メソッドは、ZIP 内に格納されているすべてのファイルの名前を返します。
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: print(myzip.namelist())
これは、アーカイブに含まれるファイル名の一覧を表示します。
ZIPファイル内のファイルを読み込む方法 Archive
解凍せずにアーカイブから直接メンバーファイルを読み取ることができますping ZipFileのopen()メソッドを使用してディスクに書き込む。
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: with myzip.open("guru99.txt") as f: print(f.read())
これは、大きなアーカイブの中から特定のファイルの内容だけが必要な場合に便利です。







