python标准输入_python – 与另一个进程的标准输入/输出交互

我有一个可执行的example.exe.此可执行文件的行为如下:

1.Waits for input from user

2.Performs some operations, based on input

3.goto 1

如何使用子进程或类似模块与可执行文件进行交互?

我希望运行该过程,插入输入,接收输出,然后根据收到的输出插入其他输入.

解决方法:

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()))

标签:python,python-2-7

来源: https://codeday.me/bug/20190708/1401645.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值