Cython:python int 到 uint8_t

Posted

技术标签:

【中文标题】Cython:python int 到 uint8_t【英文标题】:Cython: python int to uint8_t 【发布时间】:2016-07-21 14:14:37 【问题描述】:

为了我的工作,我需要在 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】:

嗯,看来问题出在我的内部 C++ 代码上。

【讨论】:

以上是关于Cython:python int 到 uint8_t的主要内容,如果未能解决你的问题,请参考以下文章

使用 cython 向 python 公开一个 c++ 函数

用Cython加速Python到“起飞”

python怎么使用cython

使用Cython将结构从C返回到Python

是否可以通过 Cython 通过引用将值从 Python 传递到 C++?

使用 Swift 将 UInt8?、String、Int 转换为 String 类型