我有一个外部程序(即,不可更改),该程序需要三个输入值<a>, <b>, and <c>
(提示)。
$ COMMAND
A: <a>
B: <b>
C: <c>
我想像这样使用subprocces.run
来调用该程序。
result = subprocess.run(
"COMMAND", shell=True, stdout=subprocess.PIPE).stdout.decode('utf-8').split('\n')
如何传递这些输入值?
到目前为止,我已经尝试做这样的事情。
(a)
read, write = os.pipe()
os.write(write, "<a>\n")
os.write(write, "<b>\n")
os.write(write, "<c>\n")
os.close(write)
and
result = subprocess.run(
"COMMAND", shell=True, stdout=subprocess.PIPE, input=read).stdout.decode('utf-8').split('\n')
(b)
result = subprocess.run(
"COMMAND", shell=True, stdout=subprocess.PIPE, input="<a>\n<b>\n<c>\n", encoding=ascii).stdout.decode('utf-8').split('\n')
但是,我什么都无法工作...