有没有办法在 python 中使用程序 pv 来获取操作的进度?
到目前为止,我有以下内容:
p0 = sp.Popen(["pv", "-f", args.filepath],
bufsize=0,
stdout=sp.PIPE,
stderr=sp.PIPE)
p1 = sp.Popen(["awk", "{print $1, $2, $1, $3, $4 }", "{}".format(args.filepath)],
stdout=sp.PIPE,
stdin=p0.stdout)
但是我无法从 p0
获得连续输出。我试过:
for line in p0.stderr:
print("line:", line)
但这会等待进程完成,然后只打印来自 pv
的最后一个进度报告。有谁知道我怎样才能让它打印不断更新的状态?
最佳答案
尝试从 p0.stderr 读取
pv 保持 stdout 不变,它只写入 stderr
关于python - 使用python获取pv的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39274976/