python sh模块似乎要等到命令或至少一行完成后才能显示任何输出。如何显示正在发生的命令的输出?
到目前为止我已经尝试过了。这是用于用sh克隆一些东西的git。
for line in sh.git.clone(url, '--progress', '--recursive', _err_to_out=True, _iter=True):
print(line)完成后,它会打印出每一行,但不会实时打印出来。因此,当我在git克隆一些东西时,它不会显示克隆的进度,因为它在返回之前等待行完成。如何让sh模块实时输出命令的进度?
发布于 2016-08-05 04:04:41
使用_out_bufsize参数。在我的例子中,用100.
for line in sh.git.clone(url, '--progress', '--recursive', _err_to_out=True, _iter=True, _out_bufsize=100):
print(line)输出:
克隆成“某个项目”。 远程:计数对象: 70796,完成。 远程:压缩对象:0 远程:压缩对象: 1% (203/20259) 远程:压缩对象: 3% (608/20259) 远程:压缩对象: 5% (1013/20259) 远程:压缩对象: 7% (1419/20259) 远程:压缩对象: 9% (1824/20259)
https://stackoverflow.com/questions/38780563
复制相似问题