我正在尝试使用SWIG和numpytypemaps将一个小C函数转换成python
此函数定义如下
void nw(int* D, int Dx, int Dy, int* mat, int mx, int my, char *xstr, int xL,char *ystr, int yL);
我的接口文件如下
^{pr2}$为了测试它,我使用了以下输入
D = numpy.zeros((5,5),numpy.int)
mat = numpy.array([[1, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 1]],numpy.int)
x = numpy.array(list("ABCD"))
y = numpy.array(list("ABCD"))
import nw
nw.nw(D,mat,x,y)
但当我运行它时,我得到以下结果
TypeError: nw() takes exactly 6 arguments (4 given)
我真的很困惑这些论点是如何定义的。这里有人知道为什么有6个论点,这些论点是什么吗?谢谢!在
好吧,我想我已经解决了这个问题。在
事实证明,SWIG真的不喜欢我为cstring所做的apply指令。在
我本应该按照下面的指示来代替。在
我应该更仔细地看食谱的,哈哈
相关问题 更多 >
编程相关推荐