1

我正在使用 paramiko 连接到 win10 服务器(客户端是 Linux),并且大部分通信都可以。但是当我阅读对命令的响应时(通过 recv()),我看到了一些奇怪的数据。示例:这是对“主机名”的响应,它应该只是“halfdome-win10”,但我读回的是

 '\x1b[5;1Hhalfdome-win10

  \x1b[5;2Halfdome-win10                                                                  
  \x1b[5;3Hlfdome-win10                                                                  
  \x1b[5;4Hfdome-win10                                                                  
  \x1b[5;5Hdome-win10                                                                  
  \x1b[5;6Home-win10                                                                  
  \x1b[5;7Hme-win10                                                                  
  \x1b[5;8He-win10                                                                  
  \x1b[5;9H-win10                                                                  
  \x1b[5;10Hwin10                                                                  
  \x1b[5;11Hin10                                                                  
  \x1b[5;12Hn10                                                                  
  \x1b[5;13H10                                                                  
  \x1b[5;14H0                                                                  
  '

如果我把它放在一个变量中(比如aa)并打印它,似乎linux shell可以解码并打印正确的值。

>>> print cc
>>>
halfdome-win10

有没有正确的方法从win10 ssh服务器获取数据并以可用的形式解码?

我知道它有 ansi 字符,但将它们取出并没有帮助,我仍然看到响应的简短回声。

  • 我正在使用更新的 paramiko
  • 我需要使用交互式外壳
  • 如果我使用 exec_command 代替标准输出读取预期值(没问题)
4

0 回答 0