使用命令行参数通过Cython运行python代码

问题描述:

我有一个使用两个命令行参数的Python代码。我正在使用Linux终端执行所有命令行任务。现在我正在尝试使用Cython来加速我的Python代码。 对于我已经通过创建这个setup.py文件编译使用build_ext模块的Python代码到C:使用命令行参数通过Cython运行python代码

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"]) , 
]) 

,然后使用编译我的Python代码到C:

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,事实上我开始用它来解决后代码级算法优化的Python固有的速度问题。我需要输入哪些文件来运行,以及如何运行转换的C代码和命令行参数。提前致谢。

+0

Cython编译完成后'myCode.so'成为一个模块。你不能运行它,你必须导入它:'python -c'import myCode''。 – phd

+0

@phd我应该在哪里准确放置这一行以及在哪个文件中?一旦我把它妥当放置,我会明白它的目的。 – harshvardhan

+0

这只是一个例子。 'myCode'是一个模块,你必须将它作为任何其他模块导入。它只是不是.py模块,但编译.so。 – phd

如前所述,您编译了一个Python模块。因此,要从Linux调用,您必须编写一个.py脚本,用于导入编译后的模块并进行所需的计算。然后,您可以使用典型的Linux命令运行它。