我遇到的问题是我想用bthon脚本在bash中启动程序,然后为该程序提供输入。现在它看起来像这样:
string="somestringthatstartsprogram"
os.system(string)
然后程序等待输入,所以我需要这样的东西:
os.system(string, <<< "0")
输入始终为0.&lt;&lt;&lt;在bash脚本中工作,但我不知道如何在python中这样做。使用从bash到python的输入,搜索这个问题为反过来提供了很多答案,但这不是我想要的。
如果你能给我一个如何解决这个问题的提示,我会很高兴的。
亲切的问候, bwp编辑: 非常感谢您提供有用的提示。我刚刚开始使用python,现在我没有完全按照它做的但是有效。这是解决方案:
#import subprocess
#import shlex
string="somestringthatstartsprogram"
args = shlex.split(string)
p = subprocess.Popen(args,stdout=subprocess.PIPE, stdin=subprocess.PIPE,stderr=subprocess.PIPE)
stdout_data = p.communicate(input='0')[0]