Как захватить управляющие коды в модуле pexpect python - PullRequest
0 голосов
/ 03 июля 2019

Я выполняю некоторые команды в сеансе pexpect, где он выдает следующий вывод в консоли.

this is the first line output
\u0000>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000

У меня есть регулярное выражение '\ r \ n>', совпадающее с подсказкой '>' в новой строке. Из выходных данных я вижу, что один контрольный символ \ u0000 имеет префикс перед приходом приглашения

\u0000>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000

Мой код выглядит как

child = pexpect.spawn('/bin/bash')
child.sendline(command)
child.expect('\r\n>')

Из-за этого управляющего символа с префиксом перед приглашением ожидание не выполняется. Есть ли способ решить эту проблему.

Логически мы можем видеть, что приглашение появилось в следующей строке, но буквально, как мы можем сопоставить его с управляющим символом?

Мне нужно изменить свое регулярное выражение, чтобы оно соответствовало "controlchar \ r \ n>" ? или любой другой способ решить эту проблему?

...