我想显示和解析更长进程的输出。例如,我想运行apt-get update
并在运行时显示进度条。
到目前为止,我正在使用此代码,该代码可靠地运行并在进程完成后返回stdout,stderr和returncode。
def run(cmd):
child = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = child.communicate()
returncode = child.returncode
return stdout, stderr, returncode
我的问题是我想在进程仍在运行时显示某种进度条(例如简单的行计数器)或向用户显示stdout和stderr。
我已经阅读了以下问题,但我仍然不清楚我该怎么做:
我是否需要在while循环中使用某种具有睡眠功能的计时器?或者我应该使用多线程?