7

これは私のテストスイート用です。

一時フォルダーに自動生成された Python パッケージがあります。すべての.pyファイルです。.pycこれらをプログラムで (a)と (b)のファイルにコンパイルしたいと考えてい.pyoます。(1 つのテストでは が実行され.pyc、別のテストでは が実行されます.pyo。)もちろん、これはアクティブなインタープリターで実行する必要があります。モジュールをインポートしたくありません。コンパイルするだけです。

これどうやってするの?

4

4 に答える 4

10

compileall.pyPython lib ディレクトリには、 (例: )というスクリプトがあります/usr/lib/python2.6/compileall.py

コード内で、生成されたコードを含むディレクトリを指すos.spawnlの呼び出しを (たとえば、 を使用して) 生成します。compileall.pyを使用して呼び出すと、ファイルpython -Oが生成されます。.pyoそれを使用して呼び出すと、ファイルpythonが生成され.pycます。

秘訣は、適切なバージョンの Python インタープリターで呼び出すことだと思います。

compileall.pypy_compileフードの下で使用します。

于 2011-04-26T19:10:54.027 に答える
2

py_compileモジュールを見てみたいかもしれません。pyo残念ながら、とのどちらかを選択することはできませんpyc

于 2011-04-26T19:01:47.740 に答える
1

Python モジュール (*.py) をインポートしたディレクトリに書き込み権限がある限り、同じ名前の *.pyc ファイルが生成されることに注意してください。さらに、*.pyc と *.pyoは、モジュールのロード時間の短縮を除いて、プログラムにパフォーマンスを追加しません。

于 2011-04-26T19:38:24.980 に答える