C++ SWIG将流从python传递到C++;

C++ SWIG将流从python传递到C++;,c++,python,stream,iostream,swig,C++,Python,Stream,Iostream,Swig,C++ 我有一些C++中的记录器类。这个记录器在我的库中大量使用。记录器允许将standart STL流设置为用作输出流 Python 使用“上面Sigg包裹C++库”的Python库大量使用StreamHandler的Python标准日志。比如: logger = logging.getLogger("base_logger") #create and set console handler ch = logging.StreamHandler() ch.stream = sys.stdou

C++
我有一些C++中的记录器类。这个记录器在我的库中大量使用。记录器允许将standart STL流设置为用作输出流

Python
使用“上面Sigg包裹C++库”的Python库大量使用StreamHandler的Python标准日志。比如:

logger = logging.getLogger("base_logger")

#create and set console handler
ch = logging.StreamHandler()
ch.stream = sys.stdout
logger.addHandler(ch)

<强>如何将SWyg?< /强>

作为PL流传递到C++库中 <> P>可以让C++使用Python流。比如:

ch = logger.handlers[NEEDED_HANDLER]
Swig_wrapped_lib.set_stream(ch.stream)

从技术上讲,您需要实现一个swig类型映射(in),将python流对象转换为std::ostream。然而,我担心这是非常不平凡的

对。事实上,这就是问题所在。