Pexpect Expect (pexpect.EOF) генерирует исключение и не выводит - PullRequest
0 голосов
/ 11 сентября 2018

Я использую Python 2.7 и pexpect 4.6.0

Согласно pexpect Документам :

Если вы хотите прочитать до конца вывода ребенка без генерируя исключение EOF, затем используйте метод expect(pexpect.EOF).

Но когда я пытаюсь это сделать, возникает EOF исключение. Как я могу ожидать EOF и получить весь вывод, возвращаемый ребенком?

child = pexpect.spawn("ssh user@server")
child.expect("[pP]assword")
child.sendline("password")
child.expect("\$")
print child.before + child.after
child.sendline("ifconfig")
child.expect(pexpect.EOF)    # this throws Exception

Документы также говорят это:

Некоторые платформы UNIX выдают исключение при попытке чтения из дескриптор файла в состоянии EOF. Вместо этого другие платформы UNIX спокойно вернуть пустую строку, чтобы указать, что состояние EOF было достиг.

Как мы можем знать, если это проблема? И какой может быть обходной путь для этого?

...