Cython:python int到uint8_t

时间:2016-07-21 14:14:37

标签: python c++ type-conversion cython typeerror

对于我的工作,我需要在python中使用这个C ++函数。

std::vector<std::string> pinCertificate(const std::vector<uint8_t>& certificate, bool local)

我已经在Cython

中将原型翻译成了这个
vector[string] pinCertificate(const vector[uint8_t]& certificate, const boolean& local)

但是当我尝试使用它时,真正的问题就来了。我总是得到以下错误,或者是段错误。

TypeError: an integer is required

以下是我调用函数的方法:

# cert_id is a simple string
certificate = [np.uint8(x) for x in list(cert_id.encode())]

result = self.dring.config.pin_certificate(certificate, local)

我不知道为什么会崩溃,证书只包含numpy.uint8

我做错了什么吗?提前谢谢。

1 个答案:

答案 0 :(得分:-1)

好吧,问题似乎来自我的内部C ++代码。