7

を使用してUNIXで動作するPythonファイルをコンパイルした後

import py_compile
py_compile.compile('server.py')

同じディレクトリに .pyc ファイルを取得しますが、パテで「./server.pyc」を使用してこのファイルを実行しようとすると、スクランブルされたコードが出力され、実際には何も起こりません。

問題は、.py ファイルを .pyc ファイルに適切にコンパイルする方法と、この .pyc ファイルを実行する方法です。

ps: 基本的なスクリプトのコンパイルと実行をテストしましたが、うまくいきました..

4

2 に答える 2

14

Python ファイルをコンパイルしても、C とは異なり、実行可能ファイルは生成されません。コンパイルされた Python コードを Python インタープリターで解釈する必要があります。

$ python
>>> import py_compile
>>> py_compile.compile('server.py')
>>> ^D
$ python ./server.pyc

コンパイルされた Python コードの唯一の変更点は、ロードにかかる時間がわずかに短縮されたことです。Python インタープリターは、ロード時にコードを既にコンパイルしており、それほど時間はかかりません。

于 2012-10-20T11:16:38.907 に答える
6

最初のコマンドを実行して、server.pyc ファイルを生成します。次に、2 番目のコマンドで server.pyc モジュールを実行できます。-c オプション-m オプションはpython docs で説明されています。

python -c "import server"
python -m server
于 2012-10-20T11:15:07.707 に答える