Pythonプロジェクトから__pycache__フォルダと.pycファイルを削除する方法
Pythonを使用していると、プロジェクト内に自動的に生成されるキャッシュファイルやディレクトリに出くわすことがあります。その代表が__pycache__フォルダとその中に含まれる.pycファイルです。これらはPythonのインタープリタがスクリプトを実行する際のパフォーマンスを向上させるために生成されますが、時にはプロジェクトをクリーンに保つために削除したい場合があります。この記事では、その方法をいくつかのサンプルコードと共に紹介します。
__pycache__フォルダと.pycファイルの概要
__pycache__フォルダには、Pythonがスクリプトのコンパイル済みバイトコードを格納します。これにより、同じスクリプトを再び実行する際にスピードアップが図られます。.pycファイルはこのバイトコードを含んでおり、Pythonのバージョンやプラットフォームに依存します。これらは通常、手動で削除しても問題ありませんが、削除後は再度スクリプトを実行する際に再生成されます。
手動での削除方法
最もシンプルな方法は、手動で__pycache__フォルダを削除することです。ファイルマネージャを使用してフォルダを見つけて削除するか、以下のようにコマンドラインを使用することができます。
rm -rf __pycache__
このコマンドは、LinuxまたはMacOSのターミナルで__pycache__フォルダを削除します。Windowsでは、コマンドプロンプトを使用して以下のように削除します。
rmdir /S /Q __pycache__
Pythonスクリプトを使用した削除方法
手動で削除するのが面倒な場合、Pythonスクリプトを使用してプロジェクト内の全ての__pycache__フォルダを自動的に削除することもできます。以下にその方法を示します。
import os
import shutil
def remove_pycache_dirs(start_path='.'):
    for dirpath, dirnames, filenames in os.walk(start_path):
        if '__pycache__' in dirnames:
            full_path = os.path.join(dirpath, '__pycache__')
            print(f'Removing: {full_path}')
            shutil.rmtree(full_path)
remove_pycache_dirs()
このスクリプトは、指定されたディレクトリ(デフォルトでは現在のディレクトリ)以下の全ての__pycache__フォルダを検索し、削除します。
findコマンドを使用した削除方法
LinuxやMacOSでは、findコマンドを使用して、プロジェクト全体から__pycache__フォルダと.pycファイルを削除することもできます。
find . -name '__pycache__' -exec rm -rf {} +
find . -name '*.pyc' -exec rm -f {} +
これらのコマンドは、現在のディレクトリ以下の全ての__pycache__フォルダと.pycファイルを探し出し、削除します。
まとめ
Pythonプロジェクトを管理する際、__pycache__フォルダや.pycファイルを削除するのは一般的な作業です。手動で削除する方法から、スクリプトやコマンドラインを使用する方法まで、様々な手法があります。プロジェクトのクリーンアップやバージョン管理において、これらの方法を活用してください。
Python3プロジェクトから__pycache__フォルダと.pycファイルを削除すると、Pythonのバイトコンパイルされたファイルとそのキャッシュが削除されます。__pycache__フォルダは、Pythonのコードをバイトコンパイルしてキャッシュするために使用され、.pycファイルは実際のPythonスクリプトのバイトコードを含んでいます。これらのファイルやフォルダを削除することで、プロジェクトの整理や再ビルド時の問題を回避することができます。

