python - 如何使用 %pythonappend 和 %pythonprepend 访问 SWIG 中的参数和返回值?

标签 python swig

%pythonappend%pythonprepend 的 SWIG 文档太简短。我想知道如何访问这些 python block 中的返回值和输入参数。例如,以下是 SWIG 文档中的示例:

%module example

// Add python code to bar() 

%pythonprepend Foo::bar(int) %{
   #do something before C++ call
%}

%pythonappend Foo::bar(int) %{
   #do something after C++ call
%}


class Foo {
public:
    int bar(int x);
}

如何在这里打印输入参数xbar的返回值? 谢谢!

最佳答案

访问输入参数:

print(args)

访问返回值:

print(val)

警告: 我通过阅读生成的 .py 文件得到这个答案。不幸的是,似乎没有官方支持访问参数和返回值。这种方法可能会在未来的 swig 版本中破坏您的代码。

关于python - 如何使用 %pythonappend 和 %pythonprepend 访问 SWIG 中的参数和返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24982790/

相关文章:

python - Python 中如何检查是否为 int?

python - 填充 PDF 文件 - Python

Windows 与 Linux 上的 Python 目录结构

python - 如何在CMD中隐藏yt-dl的输出? Python

c# - C# 中的 swig - 在可移植类库中找不到 HandleRef

python - 如何在 Bottle 框架中渲染阿拉伯字符串?

c# - 如何配置 swig 以在 64 位平台中将 size_t 映射为 ulong 而不是 uint (c#)

c++ - 通过 Swig 在 C++ 和 Lua 之间传递变量

c# - 使用 SWIG 获取 C 结构来记住 C# 更改?

c++ - 为我的 c/c++ 库痛饮、soap 或 restful