我正在尝试将模块中的一些打印重定向到一个变量,特别是keras-tuner。似乎有一个类似的解决方案:similar solution
from io import StringIO
import sys
class Capturing(list):
def __enter__(self):
self._stdout = sys.stdout
sys.stdout = self._stringio = StringIO()
return self
def __exit__(self, *args):
self.extend(self._stringio.getvalue().splitlines())
del self._stringio # free up some memory
sys.stdout = self._stdout然后我包装了我的代码,该代码有一个打印模块,例如search_space_summary
with Capturing() as output:
model_info["tuner"].search_space_summary()但是,经过检查,output中没有任何内容。但是可以简单地执行一个print("Hello"),它在output中被捕获,而不是这个函数。
发布于 2020-10-09 17:19:45
keras-tuner包的util.py包括IPython/Jupyter笔记本魔术,如果用户正在使用笔记本但没有使用打印功能,它会显示自定义输出。
因此没有输出。
https://stackoverflow.com/questions/64269034
复制相似问题