2016-10-11 3 views
2

CentOS에서 pexpect를 사용하여 응용 프로그램 구성을 자동화하고 있습니다. 내 프롬프트 내가 사물의 몇 가지를 시도pexpect 새 줄을 묻는 메시지

, 내가 필요한 명령을 입력 할 필요가 (빈/새로운 라인 라인) 다음 줄에

Please enter command below. 

이 확인 r'\b below.\b'에 맞게 아래 새로운 라인 새 줄 r'\r\n(\w+)'의 경우 공백 (\s) 등이 있지만 그 중 누구도 expect 프롬프트와 일치하지 않습니다.

예 : 하나는 이것에 대한 어떤 제안을 제공 할 수 있는지

child.sendline('a') 
child.expect([pexpect.TIMEOUT,r'\b below.\b']) 
print child.before 

은 큰 도움이 될 것입니다 ..

+0

'expect'로'.b \\ b '를 시도하십시오. –

+0

또는'.expect (r'아래에 명령을 입력하십시오. \ r \ n ') –

+0

'pexpect'는 스트림을 읽습니다. 문자의 * 순서 *를 검사 할 수 없다면, 당신은'expect'를 사용할 것입니다. –

답변

0

(나는이 오래 실현,하지만 누군가 도움이 될 수 있습니다)이 pxssh와 나를 위해 작동

기본적으로이 주위 래퍼 :

expect_string = 'below.' 
child.expect(expect_string) 
child.sendline('a') 
print(child.before) 

코드를 올바르게 읽는다면 예상하기 전에 sendline을 사용할 수 있습니다. 너는 그것을 바꿔야 해.

관련 문제