我在Python和Django代码中使用Paramiko执行命令。这是我的代码:

client = SSHClient()
client.set_missing_host_key_policy(AutoAddPolicy())
client.connect(<host>, username=<username>, password=<password>)

stdin, stdout, stderr =
    client.exec_command("curl -X POST http://127.0.0.1:8080/predictions -T image.jpg")
lines = stdout.readlines()
每个命令的stdout.readlines()执行时间为0.59s。对于我的接近实时系统,这不是可接受的时间。任何人都可以提出任何建议以加快阅读过程吗?

最佳答案

SSHClient.exec_command仅启动命令。它不等待命令完成。那就是readlines所做的。因此,readlines与命令一样长。

强制性警告:请勿使用AutoAddPolicy –这样做会丢失针对MITM attacks的保护。有关正确的解决方案,请参见Paramiko "Unknown Server"

关于python - Paramiko stdout.readlines()太慢,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64436612/

10-11 07:41