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

问题描述 投票:0回答:2

我有一个使用两个命令行参数的 Python 代码。我正在使用 linux 终端执行所有命令行任务。现在我正在尝试使用 Cython 来加速我的 Python 代码。 为此,我通过创建此 setup.py 文件,使用 build_ext 模块将 Python 代码编译为 C:

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 代码以及使用命令行参数的信息。提前致谢。

python c command-line-arguments cython
2个回答
0
投票

如前所述,您编译了一个 Python 模块。因此,要从 Linux 调用,您必须编写一个

.py
脚本来导入您编译的模块并进行任何所需的计算。然后您可以使用典型的 Linux 命令运行它。


0
投票

正如 @phd 评论的那样:“你不能运行它,你必须导入它”

python -c 'import myCode'

编译后

myCode.pyx
您将拥有
myCode.so
并在另一个脚本中正常导入

# other_script.py
import myCode

然后

python other_script.py
在终端

© www.soinside.com 2019 - 2024. All rights reserved.