我有一个从 python 调用的 c 函数。 Python 为函数提供了一个整数,但我想将其用作 C 中的另一种数据类型。我目前正在使用
PyArg_ParseTuple (args, "i", &value)
然后手动对值进行强制转换。
有没有办法通过 PyArg 进行此转换?
最佳答案
您想在 C 中将参数转换为哪种数据类型?
如果您想要整数类型,看起来您可以通过在 PyArg_ParseType()
中使用不同的格式字符串来获取它。例如,“b”将非负 Python 整数转换为无符号字符。
unsigned char value;
PyArg_ParseTuple (args, "b", &value)
如果您想要的不是整数类型,您可以更改传递给函数的 Python 对象类型,然后使用适当的格式字符串来获得您想要的最终结果。
关于python - PyArg_ParseTuple 加上强制转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2876283/