是否可以在同一个命名空间中混合使用C和Python?

2024-09-24 03:25:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个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。他们可以这样称呼

^{pr2}$

有可能吗?在

类似的情况是,我开发了一个Python包,然后希望在不破坏API的情况下将一个函数重新实现为C函数。在

你可能会看到我对Python打包还是个新手。。。在


Tags: 函数bysofoolibbar情况spam