gpt4 book ai didi

python - 从 python 调用 bash

转载 作者:太空宇宙 更新时间:2023-11-04 10:55:06 24 4
gpt4 key购买 nike

我有一个调用 bash 脚本的 python 脚本。bash 脚本编译了几个模块,我希望在运行时看到编译结果打印在屏幕上。

最重要的是,无论如何,bash 脚本需要运行时从用户那里获得相当多的输入。如何让我的 python 脚本将标准输入/标准输出提供给 bash 脚本?

目前我正在使用

(_stat, _resl) = commands.getstatusoutput("./myBashScript")

但是通过这种方式,用户在 bash 运行时不会收到任何提示...

干杯

最佳答案

如果您使用 subprocess(您应该这样做!)并且不指定 stdin/stdout/stderr,它们将正常运行。例如:

# lol.py
import subprocess
p = subprocess.Popen(['cat'])
p.wait()

$ python lol.py
hello
hello
catting
catting

您还可以根据需要处理 stdout:

# lol.py
import subprocess

p = subprocess.Popen(['cat'], stdout=subprocess.PIPE)
p.wait()

print "\n\nOutput was:"
print p.stdout.read()

$ python lol.py
hello
catting

^D

Output was:
hello
catting

关于python - 从 python 调用 bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com