PyArg_ParseTuple加上强制转换

时间:2010-05-20 17:29:08

标签: python c binding casting

我有一个从python调用的c函数。 Python给函数一个整数,但我想在C中使用它作为另一种数据类型。我目前正在使用

PyArg_ParseTuple (args, "i", &value)然后手动对值进行强制转换。

有没有办法通过PyArg执行此操作?

1 个答案:

答案 0 :(得分:0)

您试图将参数转换为C?

如果您想要一个整数类型,看起来您可以通过在PyArg_ParseType()中使用不同的格式字符串来获取它。例如,“b”将非负的Python整数转换为unsigned char。

unsigned char value;
PyArg_ParseTuple (args, "b", &value)

如果你想要一个非整数类型的东西,你可能能够改变传递给你的函数的Python对象类型,然后使用适当的格式字符串来获得你想要的最终结果。