在Python脚本中运行带有“live”输出的bash脚本?

2024-06-16 13:35:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否可以在Python脚本中运行bash脚本并获得bash脚本输出“live”(而不是在Python脚本运行bash脚本之后,我知道如何做到这一点)。你知道吗

您可能会问我为什么要使用Python脚本:实际上,我想构建一个很好的CLI接口,我正在使用Inquirer来实现这一点。此接口允许用户执行实际使用bash脚本执行的任务。这就是为什么我不使用bash脚本来执行其他脚本。你知道吗


Tags: 用户脚本bashlivecliinquirer
1条回答
网友
1楼 · 发布于 2024-06-16 13:35:23

可以使用以下实现实时获取shell脚本的标准输出。你知道吗

代码:

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'

相关问题 更多 >