我想写一个Python包来包装我正在编写的一个新的C库——老实说,这只是一个学习练习。我想把这个库称为spam
(当然),C库的结构是这样的。在
Spam/
lib/
foo.c
Makefile
libspam.a /* Generated by Makefile */
libspam.so /* Generated by Makefile */
假设foo.c提供了一个公共函数foo(char * bar)
,同时,我想提供一个Python包。我想提供一个包装器给foo
和另一个函数,比如safe_foo
,在同一个命名空间下。safe_foo
是一个Python函数,它对bar
执行一些检查,然后调用foo
。他们可以这样称呼
有可能吗?在
类似的情况是,我开发了一个Python包,然后希望在不破坏API的情况下将一个函数重新实现为C函数。在
你可能会看到我对Python打包还是个新手。。。在
通常的方法是在C模块前面加一个下划线(例如
_foo.so
),然后让Python模块正常命名(例如foo.py
)。foo
执行_foo
的导入,并包含调用C模块中函数的存根。在相关问题 更多 >
编程相关推荐