我已经尝试了几件事来获得Popen的实时输出。 在我的例子中,我尝试从steamcmd获取输出。 输出来了,但它已经很晚了,并且在#34; block"不是每行。
当前代码看起来如此:
def call2(cmd, dir=None):
if dir is None:
dir = getScriptPath()
p = sub.Popen(cmd, shell=True, stdout=sub.PIPE, bufsize=1, cwd=dir)
for line in iter(p.stdout.readline, b''):
print(line),
p.stdout.close()
p.wait()
utils.call2("./steamcmd.sh +login anonymous +force_install_dir %s +app_update 376030 +quite" % dir, main.p_steam)
我尝试了另一段代码,但它有同样的问题。似乎这是一个特定的steamcmd问题,但当我通过终端手动调用它时,它有直接输出。