我有一个可执行文件example.exe
。该可执行文件的行为如下:
1.Waits for input from user
2.Performs some operations, based on input
3.goto 1
我该如何使用subprocess
或与可执行文件交互的类似模块?
我希望运行该流程,插入输入,接收输出,然后根据收到的输出插入其他输入。
from subprocess import Popen, PIPE
process = Popen([r'path/to/process', 'arg1', 'arg2', 'arg3'], stdin=PIPE, stdout=PIPE)
to_program = "something to send to the program's stdin"
while process.poll() == None: # While not terminated
process.stdin.write(to_program)
from_program = process.stdout.readline() # Modify as needed to read custom amount of output
if from_program == "something": # send something new based on stdout
to_program = "new thing to send to program"
else:
to_program = "other new thing to send to program"
print("Process exited with code {}".format(process.poll()))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)