Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Engine:
- def __init__(self, path):
- self.path = path
- self.eng = Popen(path, universal_newlines=True, stdin=PIPE, stdout=PIPE)
- def __del__(self):
- self.eng.kill()
- def write(self, com):
- if not self.eng.stdin:
- raise BrokenPipeError
- self.eng.stdin.write(f'{com}\n')
- self.eng.stdin.flush()
- def readline(self):
- if not self.eng.stdout:
- raise BrokenPipeError
- return self.eng.stdout.readline().strip()
- def isready(self):
- self.write('isready')
- while True:
- if self.readline() == 'readyok':
- return
- def readfor(self, func):
- res = list()
- while True:
- text = self.readline()
- res.append(text)
- if func(text):
- return res
Add Comment
Please, Sign In to add comment