如何使用python c api?
创建嵌套模块(包?)我希望客户端代码(python)能够做到这样的事情:
import MainModuleName
import MainModuleName.SubModuleName
而不是目前:
import MainModuleName
import MainModuleNameSubModuleName
哪个imo看起来很丑陋并且混乱了命名空间。
是否有可能不必乱用文件系统目录?
答案 0 :(得分:1)
您不会“乱用”文件系统目录。文件系统目录是你创建子模块的方式,除非你想要真正模糊并且有很多不必要的痛苦。
您希望拥有一个名为MainModuleName.SubModuleName
的模块,然后MainModuleName
应该是一个带有__init__.py
文件的目录。
执行C模块的一种常用方法是将所有C代码放在名称以下划线开头的模块中,在本例中为_mainmodulename.c
,然后从Python文件中导入它们。这样做是为了让你只需要在C中实现 中的C语言,其余的你可以在Python中完成。你也可以通过这种方式获得纯Python回退。我建议你做类似的事情,用Python创建模块结构,然后用带有下划线名称的C模块导入类和函数。