2017-07-06 14 views
1

2つのコマンドライン引数を使用するPythonコードがあります。私はすべてのコマンドラインタスクのためにLinux端末を使用しています。今私はPythonコードを高速化するためにCythonを使用しようとしています。PythonコードをCythonでコマンドライン引数で実行する

setup.py

from distutils.core import setup 
from distutils.extension import Extension 
from Cython.Distutils import build_ext 
setup (
cmdclass = {'build_ext': build_ext } , 
ext_modules = [ 
Extension ("myCode", ["myCode.py"]) , 
]) 

そして使用してCに私のPythonコードをコンパイル:私はこのsetup.pyファイルを作成することによりにbuild_extモジュールを使用してCにPythonコードをコンパイルしていることについて

python setup.py build_ext -i 

以下が生成された:

[file]myCode.c 
[file]myCode.so 
[folder]build 
--[folder]temp.linux-x86_64-2.7 
----[file]myCode.o 

生成されたファイルをコマンドライン引数で実行します。 は今Pythonで、私はいつものコマンド

>> python myCode.py arg1 arg2 

を使用していたティル私はCythonに非常に新しいです、Infactは私はコードレベルのアルゴリズムの最適化後のPythonの本来のスピードの問題に対処するためにそれを使用し始めました。私は実行するファイルと変換されたCコードを実行する方法とコマンドライン引数を入力する必要があります。前もって感謝します。

+0

Cythonがコンパイルされた後、 'myCode.so'がモジュールになります。それを実行することはできません。インポートする必要があります: 'python -c 'import myCode''。 – phd

+0

@phdこの行を正確にどこに置くべきですか?私はそれを適切に配置すると、その目的を理解するようになります。 – harshvardhan

+0

これは一例にすぎません。 'myCode'はモジュールなので、他のモジュールと同じようにインポートする必要があります。それはちょうど.pyモジュールではなく、コンパイルされた.soです。 – phd

答えて

0

前述のとおり、Pythonモジュールをコンパイルしました。したがって、Linuxから呼び出すには、コンパイルされたモジュールをインポートし、必要な計算を実行する.pyスクリプトを記述する必要があります。その後、典型的なLinuxコマンドで実行することができます。

関連する問題