有什么方法可以将屏幕上显示的内容保存到变量中,以便在擦除屏幕后可以将其打印回来?
答案 0 :(得分:2)
不知道为什么这个问题被否决。无论如何,来自Raymond Hettinger on Twitter的答案利用了contextlib.redirect_stdout()
:
with open('help.txt', 'w') as f: with contextlib.redirect_stdout(f): help(pow)
尽管如此,在这种情况下,输出将被重定向到文件中,而不是变量中,并且是Python3,而不是2.7。
从文档中将其捕获到变量中:
例如,通常将help()的输出发送到sys.stdout。您可以通过将输出重定向到
io.StringIO
对象来捕获该输出为字符串:f = io.StringIO() with redirect_stdout(f): help(pow) s = f.getvalue()
This answer on SO显示了另一种方法,并且在Python2中: