python如何从C访问用Python编写的模块?

python

你可以通过如下方式获得一个指向模块对象的指针:

module=PyImport_ImportModule("<modulename>");

如果模块尚未被导入(即它还不存在于 sys.modules 中),这会初始化该模块;否则它只是简单地返回 sys.modules["<modulename>"] 的值。 请注意它并不会将模块加入任何命名空间 —— 它只是确保模块被初始化并存在于 sys.modules 中。

之后你就可以通过如下方式来访问模块的属性(即模块中定义的任何名称):

attr=PyObject_GetAttrString(module,"<attrname>");

调用 PyObject_SetAttrString() 为模块中的变量赋值也是可以的。

以上是 python如何从C访问用Python编写的模块? 的全部内容, 来源链接: utcz.com/z/520639.html

回到顶部