首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SWIG:向生成的.py文件添加注释

SWIG:向生成的.py文件添加注释
EN

Stack Overflow用户
提问于 2011-11-03 20:00:25
回答 1查看 2.2K关注 0票数 6

使用SWIG为C++应用程序生成Python接口,有没有办法让它对生成的.py文件中的函数进行注释?实际上,我正在将整个.h文件导入到.i文件中,但举一个小例子:

代码语言:javascript
运行
复制
%module example

bool do_something_interesting(int number, string text);

swig -python example.i生成:

代码语言:javascript
运行
复制
...
def do_something_interesting(*args):
  return _example.do_something_interesting(*args)
do_something_interesting = _example.do_something_interesting

理想情况下,我希望它能够自动添加带有原始方法签名的注释。

代码语言:javascript
运行
复制
#bool do_something_interesting(int number, string text)
def do_something_interesting(*args):
  return _example.do_something_interesting(*args)
do_something_interesting = _example.do_something_interesting

但是我完全可以在某个地方写我自己的评论(特别是如果评论可能在.h文件中)。我认为%pythonprepend可能是一个可能的解决方案,但它在函数定义中插入代码,而不是在函数定义之前插入代码。

编辑:,这是我在.h文件中提出的。这不是史上最漂亮的事,但它会做到的:

代码语言:javascript
运行
复制
#ifdef SWIG
   %pythonprepend do_something_interesting(int, string) %{
    """Do some interesting thing

    number:Int -- a number
    text:String -- some text

    """
  %}
#endif
bool do_something_interesting(int number, string text);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-04 04:19:26

请查看SWIG for Python中的docstring特性。可能在您的.i文件中放置下面一行

代码语言:javascript
运行
复制
%feature("autodoc", "1")

会做您想做的事情(更多选项请参见http://www.swig.org/Doc2.0/Python.html#Python_nn65 )

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8001082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档