首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用python模块,如何显示正在发生的命令的输出?

使用python模块,如何显示正在发生的命令的输出?
EN

Stack Overflow用户
提问于 2016-08-05 03:21:07
回答 1查看 824关注 0票数 1

python sh模块似乎要等到命令或至少一行完成后才能显示任何输出。如何显示正在发生的命令的输出?

到目前为止我已经尝试过了。这是用于用sh克隆一些东西的git。

代码语言:javascript
运行
复制
for line in sh.git.clone(url, '--progress', '--recursive', _err_to_out=True, _iter=True):
    print(line)

完成后,它会打印出每一行,但不会实时打印出来。因此,当我在git克隆一些东西时,它不会显示克隆的进度,因为它在返回之前等待行完成。如何让sh模块实时输出命令的进度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-05 04:04:41

使用_out_bufsize参数。在我的例子中,用100.

代码语言:javascript
运行
复制
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)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38780563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档