2014-07-23 50 views
1

我有使用pxssh模塊的問題。我的代碼如下:pxssh拋出文件結束(EOF)。異常樣式平臺異常

try: 
     ssh_handle = pxssh.pxssh(timeout=None) 
     ssh_handle.logfile = sys.stdout 
     ssh_handle.login(host, username, password) 
     index = ssh_handle.expect(['Are you sure you want to continue connecting \(yes\/no\)\? ', '.*?password:.*', '.*?\$.*']) 
     if index == 0: 
      ssh_handle.sendline('yes') 
      ssh_handle.sendline(password) 
     if index == 1: 
      ssh_handle.sendline(password) 
     ssh_handle.sendline('sudo -s') 
     ssh_handle.sendline(password) 
     return ssh_handle 
    except pxssh.ExceptionPxssh as e: 
     print "SSH connection to %s failed" % host 
     sys.exit() 

出於某種原因,我不斷收到錯誤:

File "/usr/lib/python2.7/dist-packages/pexpect/pxssh.py", line 313, in login 
    if not self.sync_original_prompt(sync_multiplier): 
    File "/usr/lib/python2.7/dist-packages/pexpect/pxssh.py", line 205, in sync_original_prompt 
    b = self.try_read_prompt(sync_multiplier) 
    File "/usr/lib/python2.7/dist-packages/pexpect/pxssh.py", line 168, in try_read_prompt 
    prompt += self.read_nonblocking(size=1, timeout=timeout) 
    File "/usr/lib/python2.7/dist-packages/pexpect/__init__.py", line 919, in read_nonblocking 
    raise EOF('End Of File (EOF). Exception style platform.') 
pexpect.EOF: End Of File (EOF). Exception style platform. 

我不知道我做錯了,並希望任何指針任何可能。

由於提前, 導航

+0

有人可以請幫忙。謝謝。 – navanitachora

回答

1

你可以做ssh_handle.expect(pexpect.EOF)和讀取結果ssh_handle.before。或者嘗試從'(是/否)\'中刪除'\' (即做'(是/否)?')。最後一個建議對我來說很適合Suse。

鏈接:http://pexpect.sourceforge.net/doc/

+0

謝謝,這就是我最終做的。 – navanitachora

+0

不客氣=) – Tino