python - PyArg_ParseTuple 加上强制转换

标签 python c binding casting

我有一个从 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/

相关文章:

python - 给定键适合一定的间隔,如何在 python 中打印出字典的值?

c - 在数组的这个索引中减去有什么意义?

.net - Silverlight 4 RelativeSource FindAncestor 绑定(bind)

c# - XAML TextBox isReadOnly 绑定(bind)

python - 简单的API Rest python脚本需要很多时间(或者没有结束)

android - android与电脑sl4a的socket通信

python - Django CSV Export..在列表中迭代

c - C语言中如何将变量的地址赋值为NULL?

c - 类Shell程序C

javascript - Angular:将逻辑写入绑定(bind)