将 python 函数转换为 cython

Convert python function to cython

我在```python``

中有一个基本的string manip函数
def str_process(string_list):

   op = []
   for each_str in string_list:
      op.append(each_str+"_random token")
   return op

效果很好。但是当我尝试 运行 cython 中的相同函数时:

import cython
cdef list func(list string_list):

   cdef list op =[]
   cdef str each_str
   for each_str in string_list:
      op.append(each_str+"_random token")
   return op

我把上面的 cython function 放在 test.pyx 文件中并使用下面的

调用它
from distutils.core import setup
from Cython.Build import cythonize

setup(ext_modules=cythonize('test.pyx'))

错误:

option -f not recognized

我是 cython 的新手,任何关于错误的建议都会很棒。

我能够使用命令 python3 setup.py build_ext --inplace 成功地对您的代码进行 cythonize。看起来你只是 运行 你的 setup.py 文件不正确。

此外,除非您有更多未在此示例中显示的代码,否则您不需要在 .pyx 文件中导入 cython。