Python 例を含むZIPファイル

Python zip/tar アーカイブを素早く作成できます。

次のコマンドはディレクトリ全体を圧縮します

shutil.make_archive(output_filename, 'zip', dir_name)

次のコマンドはアーカイブしたいファイルを制御します

ZipFile.write(filename)

Zipファイルを作成する手順は次のとおりです。 Python

ステップ1) アーカイブファイルを作成するには Pythonインポート文が正しく、順序どおりに記述されていることを確認してください。ここではアーカイブのインポート文は from shutil import make_archive

Python ZIPファイル

コードの説明

  • モジュール shutil から make_archive クラスをインポートします。
  • Split関数を使用して、テキストファイルの場所へのパスからディレクトリとファイル名を分割します(guru99)
  • 次に、モジュール「shutil.make_archive(“guru99 archive, “zip”, root_dir)」を呼び出して、zip形式のアーカイブファイルを作成します。
  • その後、圧縮したいもののルート ディレクトリを渡します。 したがって、ディレクトリ内のすべてが圧縮されます
  • コードを実行すると、パネルの右側にアーカイブ zip ファイルが作成されていることがわかります。

ステップ2) アーカイブファイルが作成されたら、ファイルを右クリックしてOSを選択すると、以下のようにアーカイブファイルが表示されます。

Python ZIPファイル

これで、archive.zip ファイルが OS 上に表示されます (Windows エクスプローラ)

Python ZIPファイル

ステップ3) ファイルをダブルクリックすると、そこに含まれるすべてのファイルのリストが表示されます。

Python ZIPファイル

ステップ4) In Python アーカイブに含める特定のファイルを定義できるため、アーカイブをより細かく制御できます。この場合、アーカイブに2つのファイルを含めます。 「ぐる99.txt」   「guru99.txt.bak」。

Python ZIPファイル

コードの説明

  • 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 エクスプローラ)すると、以下のようにフォルダー内のアーカイブ ファイルが表示されます。

Python ZIPファイル

ファイル「testguru99.zip」をダブルクリックすると、別のウィンドウが開き、そこに含まれるファイルが表示されます。

Python 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")

製品概要

  • ディレクトリ全体を圧縮するには、コマンド「shutil.make_archive(“name”,”zip”, root_dir) を使用します。
  • 圧縮するファイルを選択するには、コマンド「ZipFile.write(filename)」を使用します。