Это не только readline (), которая возвращает \ r \ n, весь захваченный текст, возвращаемый pexpect, содержит \ r \ n окончания строки.
Документация имеет следующее объяснение:
readline (self, size = -1)
Это читает и возвращает одну целую строку.Конечный символ новой строки сохраняется в строке, но может отсутствовать, когда файл заканчивается неполной строкой.Примечание. Эта функция readline () ищет пару \ r \ n даже в UNIX, потому что это то, что возвращает псевдотетическое устройство.Таким образом, вопреки тому, что вы можете ожидать, вы получите новую строку как \ r \ n.Пустая строка возвращается, когда EOF ударил сразу.В настоящее время аргумент size в основном игнорируется, поэтому это поведение не является стандартным для файловоподобного объекта.Если размер равен 0, тогда возвращается пустая строка.
Вы можете сделать что-то подобное, чтобы преобразовать \ r \ n в \ n
line = child.readline()
line.replace('\r\n', '\n')