文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>python扩展与嵌入的入门级FAQ

python扩展与嵌入的入门级FAQ

时间:2007-03-22  来源:lidaibin

以下是我在开发一个应用中集成python脚本引擎的过程中所遇到的一些入门级问题,稍后再整理一些比较完整的关于python扩展与嵌入的日志。

1、如何在宿主应用中注册module?可在Py_Initialize之前调用PyImport_AppendInittab来注册,也可在Py_Initialize之后直接调用注册函数。

2、如何添加宿主应用脚本的路径到python搜索路径?在Py_Initialize之后通过PySys_GetObject("path")得到sys.path,然后再通过PyList_Insert加入宿主应用的脚本路径。

3、 如何调用python模块中的函数?通过PyImport_ImportModule得到module,然后再通过PyModule_GetDict从 module中得到dict,再通过PyDict_GetItemString得到函数对象,最后通过PyObject_CallObject或其它 PyObject_Call系列函数调用,当然调用之前最好用PyCallable_Check检查,另外就是dict、func都属于Borrowed reference,因此不需要Py_DECREF或Py_XDECREF。

4、所有的wrapper函数都应该返回PyObject实 例指针,即使在python中调用的时候并不需要返回值,但仍需要返回Py_None,相当于C/C++中的void,Py_INCREF (Py_None); return Py_None;当然也可以用宏Py_RETURN_NONE来代替。
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载