你可以通过如下方式获得一个指向模块对象的指针:
<span class="n">module</span> <span class="o">=</span> <span class="n">PyImport_ImportModule</span><span class="p">(</span><span class="s">"<modulename>"</span><span class="p">);</span>
www#gaodaima.com来源gaodai#ma#com搞@@代~&码网搞代码
如果模块尚未被导入(即它还不存在于 sys.modules
中),这会初始化该模块;否则它只是简单地返回 sys.modules["<modulename>"]
的值。 请注意它并不会将模块加入任何命名空间 —— 它只是确保模块被初始化并存在于 sys.modules
中。
之后你就可以通过如下方式来访问模块的属性(即模块中定义的任何名称):
<span class="n">attr</span> <span class="o">=</span> <span class="n">PyObject_GetAttrString</span><span class="p">(</span><span class="n">module</span><span class="p">,</span> <span class="s">"<attrname>"</span><span class="p">);</span>
调用 PyObject_SetAttrString()
为模块中的变量赋值也是可以的。
来源:搞代码网:原文地址:https://www.gaodaima.com