Я очень плохо знаком с python, и мне приходится работать со сценарием, в котором я должен открыть терминал, затем выполнить некоторые действия с ним, а затем открыть другие терминалы и выполнить действия.
Однако я запустил POC для него и обнаружил, что pexpect будет хорошим вариантом, и я сделал пример сценария, открывающего один терминал и выполняющего одно действие после смены каталога. Ниже приведен фрагмент кода:
import pexpect
command = 'cd abc/def/ghi'
t1 = pexpect.spawn(command)
t1.expect(pexpect.EOF)
t1.sendline("abcdapplication.exe -qazxsname afsa defg hijkl")
t1.expect(pexpect.EOF)
Я получаю ниже ошибки после выполнения кода на MacOS:
File "terminalBasicPOC.py", line 6, in <module>
t1.sendline("abcdapplication.exe -qazxsname afsa defg hijkl")
File "/usr/local/lib/python2.7/site-packages/pexpect/pty_spawn.py", line 577, in sendline
return self.send(s + self.linesep)
File "/usr/local/lib/python2.7/site-packages/pexpect/pty_spawn.py", line 568, in send
return os.write(self.child_fd, b)
OSError: [Errno 5] Input/output error
Я пытался найти решение для той же самой проблемы, но нашел ниже открытые проблемы:
https://github.com/pexpect/pexpect/issues/435
https://github.com/pexpect/pexpect/issues/544
Пожалуйста, дайте мне знать, как решить эту ошибку.