使用 pxssh 时无法导入 pexpect 的名称“spawn”

问题描述 投票:0回答:2

这是我尝试运行的代码:

from pexpect import pxssh
s = pxssh.pxssh()
if not s.login ('myip', 'myusername', 'mypassword'):
    print ("SSH session failed on login.")
    print (str(s))
else:
    print ("SSH session login successful")
    s.sendline ('ls -l')
    s.prompt()         # match the prompt
    print (s.before)     # print everything before the prompt.
    s.logout()

我运行此程序时遇到的错误是:

Traceback (most recent call last):
  File "test_pexpect.py", line 1, in <module>
    from pexpect import pxssh
  File "C:\Python35\lib\site-packages\pexpect\pxssh.py", line 23, in <module>
    from pexpect import ExceptionPexpect, TIMEOUT, EOF, spawn
ImportError: cannot import name 'spawn'

有人可以帮我吗?我在windows上使用python3.5

python python-3.x python-3.5 pexpect
2个回答
11
投票

Windows 目前不支持 pxssh。

您可以在 https://github.com/pexpect/pexpect/issues/339

阅读更多相关信息

0
投票

像上面的回复所述,Windows 不支持 Pexpect。但是,

wexpect
pexpect
的 Windows 端口)是。 你可以:

import wexpect 

s = wexpect.spawn('ssh username@hostname')

您可以使用带有超时的 try except 来捕获 SSH 会话登录失败的情况。

© www.soinside.com 2019 - 2024. All rights reserved.