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
コードの説明
- モジュール shutil から make_archive クラスをインポートします。
- Split関数を使用して、テキストファイルの場所へのパスからディレクトリとファイル名を分割します(guru99)
- 次に、モジュール「shutil.make_archive(“guru99 archive, “zip”, root_dir)」を呼び出して、zip形式のアーカイブファイルを作成します。
- その後、圧縮したいもののルート ディレクトリを渡します。 したがって、ディレクトリ内のすべてが圧縮されます
- コードを実行すると、パネルの右側にアーカイブ zip ファイルが作成されていることがわかります。
ステップ2) アーカイブファイルが作成されたら、ファイルを右クリックしてOSを選択すると、以下のようにアーカイブファイルが表示されます。
これで、archive.zip ファイルが OS 上に表示されます (Windows エクスプローラ)
ステップ3) ファイルをダブルクリックすると、そこに含まれるすべてのファイルのリストが表示されます。
ステップ4) In Python アーカイブに含める特定のファイルを定義できるため、アーカイブをより細かく制御できます。この場合、アーカイブに2つのファイルを含めます。 「ぐる99.txt」 「guru99.txt.bak」。
コードの説明
- 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 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)」を使用します。