gpt4 book ai didi

python - 如何在 python 中使用 paramiko 库发送箭头键?

转载 作者:行者123 更新时间:2023-11-28 17:50:14 25 4
gpt4 key购买 nike

我正在使用 python 2.7 并使用 paramiko 库编写 ssh 客户端代码,我使用 myhost.channel.send(chr(keycode)) 将每个键码发送到服务器.但它只适用于 1 字节的键码。我想发送其他多字节键码,如箭头键。我怎样才能做到这一点?请帮助我。

最佳答案

Windows 或 MacOS 等 GUI 使用“键码”识别键,但 SSH 管道仅传输字节,而不传输键码。

假设在您的服务器上的 ssh 中运行的程序是交互式的(也就是说,它期望有人使用它),您需要找出它期望接收的字节模式类型。当您打开 channel 时,请确保您正在调用 .get_pty() 并为其提供终端参数(默认值 vt100 非常安全)。然后,您需要阅读 VT100 终端的文档,了解按下各种键时它发送的字节序列。我建议阅读 Xterm Control Sequences文档(Xterm 不是严格意义上的 vt100 模拟器,但它的文档非常完整),并且不会混淆原始 VT100 终端的硬件细节)。请注意,在该文档中,“CSI”实际上表示 Python 字符串 '\e['

例如,Xterm Control Sequences 文档说箭头键是“CSI A”向上,“CSI B”向下,“CSI C”向右,“CSI D”向左。在 Python 中,它看起来像:

up = '\e[A'
down = '\e[B'
right = '\e[C'
left = '\e[D'

关于python - 如何在 python 中使用 paramiko 库发送箭头键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11606569/

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