Python C扩展:TypeError:参数1必须是没有空字节的字符串,而不是str

时间:2015-06-20 11:57:20

标签: python c

我在C中编写了一个Python扩展,但我遇到了问题。在Python代码中,我从socket(tcp)接收数据。数据是字符串和结构的组合(用C语言编写) 当我将数据作为参数传递给C扩展函数时,它会导致TypeError: argument 1 must be string without null bytes, not str。是什么导致了这个问题?

代码如下:
1,Python的:

def msgProc(self, sockId, data):
    "process incoming msg"
    #may need to rewrite the message lib
    pydecode.decode(data)

2,C:

 char *pszData;
 if (!PyArg_ParseTuple(args, "s", &pszData)) {
    printf("param error\n");
    return NULL;
 }   

0 个答案:

没有答案