• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

python 搞java代码 1个月前 (05-21) 2次浏览 已收录 0个评论

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

<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


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址