paramiko stdout的输出错误地传输线

时间:2019-04-01 03:47:00

标签: python-3.x ssh cmd paramiko

我正在尝试获取远程计算机(ssh,paramiko)上具有特定扩展名的文件的列表。但是,在读取时,并非所有文件路径都正确显示。

代码:

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, username=user, password=secret, port=port)
cmd = '''dir /s /b /n D:\\*.bat\n'''
stdin, stdout, stderr = client.exec_command(cmd, get_pty=True)
for line in stdout:
  print(line)

我得到类似D:\ dir \ tes

t.bat

(而不是D:\ dir \ test.bat)

(路径的一部分转移到下一行)试图读取read()。通过readlines()进行解码(),结果是相同的,您能以某种方式解决问题吗?

1 个答案:

答案 0 :(得分:0)

尝试删除get_pty=True

仅在实现交互式会话时才应请求PTY。它会带来您所经历的副作用。