【发布时间】:2012-05-04 09:23:51
【问题描述】:
我目前正在尝试将 python 解释器嵌入到我的应用程序中。因为我的应用程序使用 Poco API 进行日志记录,所以我也想通过 python 中的日志模块访问它。 对我来说,最简单的方法是提供一组静态函数作为扩展模块来记录消息,然后编写一个 Handler 子类调用这些函数。
由于我不希望用户安装任何额外的 python 模块,并且由于我不需要在嵌入式 python 解释器之外重用我的代码,所以如果可以通过Py_InitModule() 和然后向创建的模块添加一个硬编码的 Handler 子类(硬编码的意思是:在运行时添加,但实际上是一个 const 字符串,它总是在初始化时被解释)。
我的问题是我不知道如何解释普通的 python 类定义,例如:
class Test:
someVar=1
以便将其添加到给定模块中,然后可以访问,例如 mymodule.Test
解决方案可以是纯 Python 的,也可以使用 Python c-api。
【问题讨论】:
-
您在创建类或将其添加到模块中需要帮助吗?
-
@IgnacioVazquez-Abrams 将其添加到模块中
标签: python class python-module python-c-api python-embedding