2016-10-11 61 views
2

我正在使用pexpect自動執行CentOS上的應用程序配置。我的提示是新線如下,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''下嘗試'r'。* \ b' –

+0

或'.expect(r'Please enter command below \。\ r \ n')' –

+0

'pexpect' read a stream並且不能檢查一個*字符序列*,你一定會使用'expect'。 –

回答

0

(我知道這是舊的,但它可以幫助別人)

這對我的作品與pxssh ,它基本上是這樣的一個包裝:

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

如果我正在讀你的代碼,你有你的發送線之前,你期望。你需要切換。