Pythonでスクリプトを実行すると、”__pycache__”フォルダに拡張子が”.pyc”のファイルができる。いったいこれはなに?消してもいいの?しらべてみました!
目次
pycファイルとは
Pythonのソースコードをコンパイルした結果のバイトコードを含むファイルで、このファイルがあることでコンパイル時間が短縮される。(いわゆるキャッシュファイル)
たとえばソースコードのファイル名が”sample.py”で、pythonのバージョンが3.11だったとすると、生成されるpycファイル名は”sample.cpython-311.pyc”となる。
pycファイルが生成されるタイミング
以下の2通りがあるようだ。
- 初回のコンパイル時。厳密にいうと初回のモジュールインポート時。
ファイル名が同じままソースコードの中身を更新するとpycファイルも更新され上書きされる。 - pythonのバージョンが変わった時。厳密にいうとモジュールのバージョンが変わった時。
最近だとpython3.10からpython3.11に更新した際に、pycファイルが新たに生成された。
pycファイル(と”__pycache__”フォルダ)を生成させない方法
実行時に”-B”オプションを指定することでキャッシュ機能がOFFになる。たとえば、
> python -B sample.py
pycファイル(と”__pycache__”フォルダ)は削除してもいいのか?
コンパイル時間が長くなるだけで消しても問題ない。