这里有一个非常具体的问题,但我正在寻找一个稍微更一般化的解决方案:
我正在用Python编写一个Shell脚本来协助进行各种配置任务,包括对各种仓库执行
只将子进程的stdout导出到sys.stdout是不够的,因为
我正在用Python编写一个Shell脚本来协助进行各种配置任务,包括对各种仓库执行
git clone
。当我调用git clone
时,有没有好方法可以直接向终端提供git显示输出(进度条等)?只将子进程的stdout导出到sys.stdout是不够的,因为
git
的行为涉及重写终端的同一部分以指示进度。所以这并不是完美的解决方法:import sys, subprocess
process = subprocess.Popen("git clone --recursive https://github.com/my/repo.git",
shell=True,
stdout=sys.stdout,
stderr=subprocess.PIPE)
我不是在寻找答案"使用git-python",相反,我正在寻找一种更一般的技术,可以应用于这个和其他配置任务。
谢谢!