从python中更改C变量?

时间:2010-07-16 13:22:23

标签: python c api

我的程序中有一个嵌入式python解释器。我想导出一个模块,其中包含我的程序中定义的值,并能够从python脚本中更改它们。例如 在c: int x = 1;

python中的

import embedded embedded.x = 2 在c: printf("%d",x); 输出: 2

这是可能的,还是我必须导出函数来改变c?

中的任何内容

2 个答案:

答案 0 :(得分:0)

无需导出函数,但最简单的方法是使用PyModule_GetDict()PyDict_GetItemString()来获取分配给x属性的值。

答案 1 :(得分:0)

如果您不想在C代码中主动检查PyObject的值,我认为您需要导出函数来修改C中的表示。我不是专家,但我认为没有自动映射。