我想构建一个异常类,我可以在C扩展和导入扩展的Python模块中使用它们。我正在使用PyErr_NewException将该类创建为Exception类的超类,但我无法弄清楚如何为该类创建一个__init__
构造函数。我认为这是用我需要的属性填充类的最好方法。试图在可以从Python模块实例化的C扩展中构建Python类
0
A
回答
0
您应该通过dict
作为PyErr_NewException
的第三个参数。字典应该有一个__init__
键绑定到您的初始化函数。
+0
我已经探索过,但我不能告诉什么样的对象与“__init__”键相关联。它是一个代码对象吗? –
+0
功能,我想。我在网上搜索时发现了一些半有趣的例子。 –
相关问题
- 1. 为Windows构建Python C扩展模块
- 2. 使用distutils构建Python扩展模块
- 3. 用C模块扩展python
- 4. 试图构建基本的python扩展示例失败(windows)
- 5. 我可以在D中创建一个Python扩展模块(而不是C)
- 6. 从Python C扩展中导入和使用标准Python模块
- 7. 嵌套的Python C扩展/模块?
- 8. 作为Python扩展模块的C++ API
- 9. 扩展黑盒python模块
- 10. 在python中包含/扩展模块
- 11. 在python的扩展类中实现timeit()
- 12. 如何扩展python模块? (python-twitter)
- 13. 构建Python 3.5的扩展程序或C扩展的2.7
- 14. 在Python中扩展类层次结构
- 15. 是否可以在Python模块中定义的类的C++程序中创建实例?
- 16. 是否可以从Python中的内置函数类扩展?
- 17. 使用C扩展构建/测试Python项目
- 18. 模块化扩展
- 19. python从源代码构建:无法构建可选模块sqlite3
- 20. 如何在Python curses模块中扩展一个类
- 21. python上的bash扩展模块
- 22. 如何在PHP扩展中实例化一个全局C++类?
- 23. 在模块中实例化一个类
- 24. Python - 创建并实例化类
- 25. 我可以使用VS2005为使用VS2003构建的Python系统构建扩展
- 26. 动态构建实例python
- 27. Python扩展调试
- 28. Segfault实例化类中的自定义PHP扩展C
- 29. 在python脚本中实例化类
- 30. 实例化一个类 - Python
到目前为止你有什么? – kindall
PyObject * failure; PyObject * module = Py_InitModule3(“andro”,methods,moduleDocstring); int fd; 未签名的设备; Api api; if(module!= NULL) {//模块初始化成功 failure = PyErr_NewException(“andro.Failure”,NULL,Py_BuildValue(“{}”)); PyModule_AddObject(module,“Failure”,failure); –