gpt4 book ai didi

python - Exscript:如何在交互式和非交互式 session 之间切换?

转载 作者:太空狗 更新时间:2023-10-30 01:25:59 26 4
gpt4 key购买 nike

我正在尝试以编程方式打开与 Unix 服务器的 session ,然后将控制权释放给脚本的用户,直到按下 Ctrl+y,之后程序应该获得控制权我正在使用 Eclipse 和 WinPython 2.7。这是代码

from Exscript.util.interact import read_login
from Exscript.protocols import SSH2


def Test ():
print "Interactive session closed"

account = read_login() # Prompt the user for his name and password
conn = SSH2()
conn.set_driver('generic') # We choose to use SSH2
conn.connect('remmotehostip') # Open the SSH connection
conn.login(account) # Authenticate on the remote host
conn.execute('uname -a') # Execute the "uname -a" command
print conn.response
conn.interact({'\031': Test()})
conn.send('exit\r') # Send the "exit" command
conn.close()

上面的失败了

     Traceback (most recent call last):
File "C:\Users\mynamehere\Documents\Eclipse\ESNetworkDiscovery\TestInteractiveSession.py", line 20, in <module>
conn.interact({'\031': Test()})
File "C:\Utils\WPy2.7-32\python-2.7.13\lib\site-packages\Exscript\protocols\SSH2.py", line 364, in interact
return self._open_shell(self.shell, key_handlers, handle_window_size)
File "C:\Utils\WPy2.7-32\python-2.7.13\lib\site-packages\Exscript\protocols\Protocol.py", line 1190, in _open_shell
return self._open_windows_shell(channel, key_handlers, handle_window_size)
TypeError: _open_windows_shell() takes exactly 3 arguments (4 given)

我做错了什么?

最佳答案

看起来像是 Exscript 中的错误。

来自 Protocol.py :

        return self._open_windows_shell(channel, key_handlers, handle_window_size)
...
def _open_windows_shell(self, channel, key_handlers):

该函数不接受第 4 个 handle_window_size 参数 ( careful about how python counts arguments in that situation )。

显然您没有使用最新版本,但据我所知,即使是最新版本也有错误。查看源代码历史,我会说这个错误是在 2.2 中引入的,它在 2.1 中不存在。我没有测试过它,只是阅读了源代码,而且我不是 Python 专家所以我可能完全错了。

如果我是对的,除了:

  • 使用 2.1(显然已经 7 岁了)
  • 在本地修补它(也许删除最后一个参数...不确定是否可行!)
  • filing an issue

关于python - Exscript:如何在交互式和非交互式 session 之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47399913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com