Pythonで現在のディレクトリ内のすべてのファイルを圧縮する方法


Pythonを使用して、現在のディレクトリ内のすべてのファイルを圧縮する方法について説明します。以下にいくつかの方法を示します。

方法1: zipfileモジュールを使用する方法

import zipfile
import os
def zip_current_directory():
    dir_path = os.getcwd()
    zip_file = zipfile.ZipFile('archive.zip', 'w', zipfile.ZIP_DEFLATED)
    for root, _, files in os.walk(dir_path):
        for file in files:
            file_path = os.path.join(root, file)
            zip_file.write(file_path, os.path.relpath(file_path, dir_path))
    zip_file.close()
zip_current_directory()

この方法では、zipfileモジュールを使用してファイルを圧縮します。os.getcwd()関数を使用して現在のディレクトリのパスを取得し、zipfile.ZipFileオブジェクトを作成します。os.walk()を使用して、ディレクトリ内のすべてのファイルを取得し、write()メソッドを使用してファイルを圧縮します。

方法2: shutilモジュールを使用する方法

import shutil
import os
def zip_current_directory():
    dir_path = os.getcwd()
    shutil.make_archive('archive', 'zip', dir_path)
zip_current_directory()

この方法では、shutilモジュールのmake_archive()関数を使用してファイルを圧縮します。os.getcwd()関数を使用して現在のディレクトリのパスを取得し、make_archive()関数を使用してファイルを圧縮します。

これらの方法を使用すると、現在のディレクトリ内のすべてのファイルが圧縮されます。圧縮されたファイルは、現在のディレクトリにarchive.zipという名前で保存されます。必要に応じて、ファイル名と保存場所を変更することもできます。

以上が、Pythonで現在のディレクトリ内のすべてのファイルを圧縮する方法です。