Python中的Shell脚本:调用使用诅咒等的程序
这里有一个非常具体的问题,但我正在寻找一个更一般的解决方案: 我正在用Python编写一个shell脚本来帮助完成各种配置任务,包括对各种存储库执行Python中的Shell脚本:调用使用诅咒等的程序,python,shell,scripting,subprocess,stdout,Python,Shell,Scripting,Subprocess,Stdout,这里有一个非常具体的问题,但我正在寻找一个更一般的解决方案: 我正在用Python编写一个shell脚本来帮助完成各种配置任务,包括对各种存储库执行git克隆。当我调用git clone时,是否有一种好方法可以直接向终端提供git显示输出(进度条等) 仅仅将子进程的标准输出管道化到sys.stdout并不能切断它,因为git的行为需要在终端的同一部分上重新写入以指示进度。所以这还不够好: import sys, subprocess process = subprocess.Popen("git
git克隆。当我调用git clone
时,是否有一种好方法可以直接向终端提供git显示输出(进度条等)
仅仅将子进程的标准输出管道化到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”的答案——而是在寻找一种更通用的技术,可以应用于此任务和其他配置任务
谢谢 试试看:
import os
os.system(mycommand)
这适用于wget
,在屏幕上的一行上重写自身的进度条以这种方式正确工作。我想它对git和其他人都适用