__pycache__ とは何ですか? 質問する

__pycache__ とは何ですか? 質問する

私の理解では、キャッシュは類似のファイルの暗号化されたファイルです。

このフォルダーをどうすればよいのでしょうか__pycache__? これはソース コードの代わりに他の人に渡すものですか? これは単に入力データだけですか? このフォルダーは作成され続けますが、何のためにあるのでしょうか?

ベストアンサー1

Python でプログラムを実行すると、インタープリターはまずそれをバイトコードにコンパイルし (これは単純化しすぎです)、__pycache__フォルダーに保存します。

そこを見ると、プロジェクトのフォルダー内のファイルと同じ名前のファイルが多数見つかります。.py拡張子だけが または になります.pyc。これらは、それぞれ、プログラムのファイルのバイトコード コンパイルバージョンと、最適化されたバイトコード コンパイル.pyoバージョンです。

プログラマーとしては、これをほとんど無視することができます。

これによって、プログラムの起動が少し速くなるだけです。スクリプトが変更されると、スクリプトは再コンパイルされ、ファイルまたはフォルダー全体を削除してプログラムを再度実行すると、スクリプトは再び表示されます (その動作を明示的に抑制しない限り)。

コードを他の人に送信する場合、そのフォルダーを削除するのが一般的ですが、削除するかどうかは実際には重要ではありません。バージョン管理 ( git) を使用している場合、このフォルダーは通常、無視ファイル ( .gitignore) にリストされているため、含まれません。

.gitignore

__pycache__

CPython (リファレンス実装なので最も一般的)を使用していて、そのフォルダが必要ない場合は、インタープリタを-Bフラグ付きで起動することでそれを抑制できます。たとえば、

python -B foo.py

tcaswell が指摘しているように、もう 1 つのオプションは、環境変数をPYTHONDONTWRITEBYTECODE任意の値 (Python のマニュアル ページによると、任意の「空でない文字列」) に設定することです。

おすすめ記事