Я использую 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 было
достиг.
Как мы можем знать, если это проблема? И какой может быть обходной путь для этого?