Python スクリプトが他の Python スクリプトにインポートされると、.pyc スクリプトが作成されることを知っています。Linux bash ターミナルを使用して .pyc ファイルを作成する他の方法はありますか?
20606 次
2 に答える
9
次のコマンドを使用します。
python -m compileall <your_script.py>
your_script.pyc
これにより、同じディレクトリにファイルが作成されます。
次のようにディレクトリを渡すこともできます。
python -m compileall <directory>
これにより、ディレクトリ内のすべての .py ファイルに対して .pyc ファイルが作成されます
別の方法は、次のように別のスクリプトを作成することです
import py_compile
py_compile.compile("your_script.py")
また、your_script.pyc ファイルも作成します。コマンドライン引数としてファイル名を取ることができます
于 2015-09-15T06:12:06.113 に答える
7
モジュールを使用できpy_compile
ます。コマンドラインから実行します (-m
オプション):
このモジュールをスクリプトとして実行すると、コマンド ラインで指定されたすべてのファイルをコンパイルするためにmain()が使用されます。
例:
$ tree
.
└── script.py
0 directories, 1 file
$ python3 -mpy_compile script.py
$ tree
.
├── __pycache__
│ └── script.cpython-34.pyc
└── script.py
1 directory, 2 files
compileall
同様の機能を提供します。それを使用するには、次のようにします
$ python3 -m compileall ...
...
再帰的にトラバースされた、コンパイルするファイルまたはソース ファイルを含むディレクトリはどこにありますか。
もう 1 つのオプションは、モジュールをインポートすることです。
$ tree
.
├── module.py
├── __pycache__
│ └── script.cpython-34.pyc
└── script.py
1 directory, 3 files
$ python3 -c 'import module'
$ tree
.
├── module.py
├── __pycache__
│ ├── module.cpython-34.pyc
│ └── script.cpython-34.pyc
└── script.py
1 directory, 4 files
-c 'import module'
前者はmodule.py内のブロックを-m module
実行しないため、 とは異なります。if __name__ == '__main__':
于 2015-09-15T05:48:03.217 に答える