python-3.x - 在终端和变量之间拆分标准输出
问题描述
考虑以下函数
import time
def foo():
for i in range(5):
print(f"{i}. Hello world!")
time.sleep(1)
我想将所有这些打印调用保存在一个变量中,而不会阻止它们实时到达终端。本质上,print
会输出到标准输出和一个变量。
我努力了:
from contextlib import redirect_stdout
import io
stdout = io.StringIO()
with redirect_stdout(stdout):
foo()
stdout_content = stdout.getvalue()
print(stdout_content)
但是,这会阻止打印到终端,直到foo
返回。我想foo
在对象存储调用时实时打印到终端。
如何做到这一点?
解决方案
推荐阅读
- c# - '指定的可执行文件不是此操作系统平台的有效应用程序
- pine-script - 是否有从更高时间范围覆盖数据的功能?(PineScript)
- c++ - 为什么我的 N-Queens 程序挂在填充 = 3、行 = 4 和列 = 7/8?
- excel - 打印工作表之间没有空白的excel工作簿
- php - 将逗号分隔的数组值显示到复选框php中
- java - 以下 Http 请求代码中的“\\A”分隔符有什么作用?
- sql - 理解为什么 SQL DB2 中的长度会返回短结果作为最大字符长度
- android - Android CameraX Analyzer Image 格式为 YUV_420_888 到 OpenCV Mat
- android-studio - 如何告诉 AndroidStudio 对原生代码不那么迂腐
- python - 从 Plotly 散点图上选择的数据点创建 Pandas DataFrame