Pythonスクリプト内でbashスクリプトを実行し、bashスクリプトの出力を「ライブ」にすることが可能かどうかを知りたいです(Pythonスクリプトがbashスクリプトを実行した後ではなく、その方法を知っています)。
Pythonスクリプトを使用する理由を尋ねられるかもしれません。実際には、優れたCLIインターフェイスを構築したいので、Inquirerを使用しています。このインターフェースにより、ユーザーはbashスクリプトを使用して実際に実行されるタスクを実行できます。そのため、他のスクリプトを実行するbashスクリプトを使用していません。
次の実装を使用して、シェルスクリプトの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'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加