私の理解では、キャッシュは類似のファイルの暗号化されたファイルです。
このフォルダーをどうすればよいのでしょうか__pycache__
? これはソース コードの代わりに他の人に渡すものですか? これは単に入力データだけですか? このフォルダーは作成され続けますが、何のためにあるのでしょうか?
ベストアンサー1
Python でプログラムを実行すると、インタープリターはまずそれをバイトコードにコンパイルし (これは単純化しすぎです)、__pycache__
フォルダーに保存します。
そこを見ると、プロジェクトのフォルダー内のファイルと同じ名前のファイルが多数見つかります。.py
拡張子だけが または になります.pyc
。これらは、それぞれ、プログラムのファイルのバイトコード コンパイルバージョンと、最適化されたバイトコード コンパイル.pyo
バージョンです。
プログラマーとしては、これをほとんど無視することができます。
これによって、プログラムの起動が少し速くなるだけです。スクリプトが変更されると、スクリプトは再コンパイルされ、ファイルまたはフォルダー全体を削除してプログラムを再度実行すると、スクリプトは再び表示されます (その動作を明示的に抑制しない限り)。
コードを他の人に送信する場合、そのフォルダーを削除するのが一般的ですが、削除するかどうかは実際には重要ではありません。バージョン管理 ( git
) を使用している場合、このフォルダーは通常、無視ファイル ( .gitignore
) にリストされているため、含まれません。
.gitignore
__pycache__
CPython (リファレンス実装なので最も一般的)を使用していて、そのフォルダが必要ない場合は、インタープリタを-Bフラグ付きで起動することでそれを抑制できます。たとえば、
python -B foo.py
tcaswell が指摘しているように、もう 1 つのオプションは、環境変数をPYTHONDONTWRITEBYTECODE
任意の値 (Python のマニュアル ページによると、任意の「空でない文字列」) に設定することです。