如何重定向 C++ 的标准流?用 SWIG 包装并暴露给 Python 的例程?
是否可以在Python中控制C++代码的标准流?该代码用 SWIG 包装,然后暴露给 Python,我在其中调用其函数之一。
我收到来自 C++ 代码的各种不需要的消息,我想通过不使用输出流或将其重定向到位存储桶(例如来自 os 模块的 devnull)来抑制它们。
Is it possible to control the standard streams of C++ code in python? The code is wrapped with SWIG and then exposed to Python where I call one of its functions.
I am getting all kinds of unwanted messages coming from C++ code and I want to suppress them either by not using the output stream or by redirecting it to a bit bucket, e.g. devnull from the os module.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为最好的方法是在扩展的 C 或 C++ 中实现一个简单的函数/方法来重定向 stdout 输出,请参阅 dup 例如,我认为它会工作得很好。
I think the best way is to implement a simple function/method in C or C++ of your extension to redirect the stdout output, see dup for example, I think it will work fine.