是否可以将stdout
(不是cout
!)重定向到流(ostream
)(不是文件!)< / strong>
为什么?我正在将python解释器集成到我的应用程序中,并希望捕获python代码中的print()
个调用。
我可以通过使用cout
来重定向rdbuf()
,但是来自Python的printf()
或print()
不能重定向,因为它转到stdout
而不是cout
答案 0 :(得分:0)
在Linux上,您只需在python脚本的持续时间内将STDOUT临时重定向到一个临时文件即可。
在python调用结束时,您可以读取临时文件的内容,然后转储该文件。
我很确定Windows将具有类似的机制。
这是尝试进行一些RAII清理所有把手的第一步。
ValueError Traceback (most recent call last) in ()
22 #decoded_imgs = decoder.predict(encoded_imgs)
23 #encoded_imgs=reconstructed
---> 24 decoded_imgs=decoder.predict_generator(reconstructed)
25
26
~/VirtualEnvs/deep/lib/python3.5/site-packages/keras/legacy/interfaces.py
in wrapper(*args, **kwargs)
89 warnings.warn('Update your ' + object_name + 90 ' call to the Keras 2
API: ' + signature, stacklevel=2)
---> 91 return func(*args, **kwargs)
92 wrapper._original_function = func
93 return wrapper
~/VirtualEnvs/deep/lib/python3.5/site-packages/keras/engine/training.py in
predict_generator(self, generator, steps, max_queue_size, workers,
use_multiprocessing, verbose)
1517 workers=workers,
1518 use_multiprocessing=use_multiprocessing,
-> 1519 verbose=verbose)
~/VirtualEnvs/deep/lib/python3.5/site-
packages/keras/engine/training_generator.py in predict_generator(model,
generator, steps, max_queue_size, workers, use_multiprocessing, verbose)
401 steps = len(generator)
402 else:
--> 403 raise ValueError('steps=None is only valid for a generator'
404 ' based on the keras.utils.Sequence class.'
405 ' Please specify steps or use the'
ValueError: steps=None is only valid for a generator based on the
keras.utils.Sequence class. Please specify steps or use the
keras.utils.Sequence class.