Я пытаюсь запустить базовый Pexpect script:
import pexpect
ftp_process = pexpect.spawn('ftp')
ftp_process.interact()
Когда код запускается непосредственно с терминала, код работает так, как ожидалось. Если я запустил код с помощью PyCharm run/debug, я получаю следующую ошибку:
Traceback (most recent call last):
File "/path/to/code/test.py", line 3, in <module>
ftp_process.interact()
File "/usr/local/lib/python3.4/site-packages/pexpect/__init__.py", line 1645, in interact
mode = tty.tcgetattr(self.STDIN_FILENO)
termios.error: (25, 'Inappropriate ioctl for device')
Кажется, что взаимодействие Pexpect с окном запуска/отладки PyCharm не работает по умолчанию. Есть ли способ исправить это с помощью определенной настройки PyCharm? Если нет, есть ли другой способ обойти это?
ИЗМЕНИТЬ
Приведенный выше код - это просто сокращенный пример, который приводит к проблеме. Остальные возможности pexpect (такие как expect()
, sendline()
и т.д.) По-прежнему желательны.