我想知道是否有可能在Python脚本中运行bash脚本并“实时”获取bash脚本输出(不是在Python脚本运行bash脚本之后,我知道该怎么做)。
您可能会问我为什么要使用Python脚本:实际上,我想构建一个不错的CLI界面,并使用Inquirer来做到这一点。该界面允许用户执行使用bash脚本实际执行的任务。这就是为什么我不使用执行其他脚本的bash脚本的原因。
答案 0 :(得分:2)
您可以使用以下实现实时获取shell脚本的STDOUT。
代码:
cmd="whoami"
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, bufsize=1)
for line in iter(p.stdout.readline, b''):
print(line)
p.stdout.close()
p.wait()
输出:
>>> python3 test.py
b'milanbalazs\n'