Python中的C TA-Lib函数

时间:2012-01-26 17:29:39

标签: python c

我想知道你是否有人可以给我指导是否有可能在python脚本中使用here找到的这些TA-LIB函数。我无法用我认识的任何其他语言找到这些函数......

我读了this,所以似乎有一定程度的可能性,但我对文章中发生的事情几乎一无所知,因为我根本不懂C。哦,并且你想知道TA-Lib是在python上移植但是它并没有真正构建在mac上,而且大多数人都说它们有问题。

基本上,我不能让整个应用程序在swig中工作,我想知道我是否可以编译该函数(甚至不确定是否有意义)并在python应用程序中使用它(并希望有一些指导如何做到这一点)。

2 个答案:

答案 0 :(得分:7)

我相信你可以采取三种简单的方法:

<强> SWIG

TA-Lib附带了一个由SWIG生成的Python包装器。它在很长一段时间内没有更新,因此使用Python 2.3进行硬编码。 Andy Hawkins写了一些directions来使它与更新版本的Python一起使用。

<强>用Cython

我写了一个TA-Lib python wrapper,它使用Cython来包装TA-Lib中的所有函数,并在Github上发布它。它非常适合我,使用Numpy阵列,比SWIG界面快2-4倍,更“pythonic”,更容易安装(适用于Mac OS X)。

<强> ctypes的

如果你只需要库中的少量函数,你可以use ctypes调用TA-Lib库。

答案 1 :(得分:0)

如果您需要的只是库中的单个函数,yoyu最好使用ctypes - ctypes是标准库中的Python模块,允许您在本机代码中执行对库的调用。

您只需要在Python控制台上查看如何使用ctypes将TA-LIB作为Python对象获取,以及如何调用所需的函数。 Ctypes为你自动将int和字符串转换为C - 但是你需要为其他参数类型执行一些函数anotation。