我正在嘗試從“ apt-get download firefox”之類的命令中讀取最后一行。通常輸出將是Get:1 http://archive.ubuntu.com/ubuntu/ utopic/main firefox amd64 32.0+build1-0ubuntu2 [34.9 MB]2% [1 firefox 646 kB/34.9 MB 2%]最后一行不斷更新(直到達(dá)到100%才寫入換行符)。我現(xiàn)在的目標(biāo)是實(shí)時(shí)閱讀進(jìn)度。這是我當(dāng)前的示例代碼:#!/usr/bin/python3 -u# coding=utf-8import subprocess, syspipe = subprocess.Popen(['apt-get', 'download', 'firefox'], 0, stderr = subprocess.PIPE, stdout = subprocess.PIPE)while True: content = pipe.stdout.read(1).decode() if content == '': break sys.stdout.write(content) sys.stdout.flush()pipe.wait()我已經(jīng)禁用了子進(jìn)程調(diào)用的輸出緩沖以及Python進(jìn)程的二進(jìn)制輸出(帶有-u參數(shù))。但是我只得到第一行,而不是第二行的進(jìn)度。有人知道我該怎么做到嗎?
添加回答
舉報(bào)
0/150
提交
取消