如何使用python操作bash程序中的输入

时间:2016-06-27 19:53:40

标签: python linux bash input

我遇到的问题是我想用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]

0 个答案:

没有答案