我想通过paramiko从远程服务器中获取无限(循环)数据。 首先,我成功地连接到遥控器。 我可以获得系统中未循环的数据。 (就像“ ls -a'”)
但是,当我命令循环数据时,该系统只是无休止地没有数据。 (我认为client.exec_command会话完成后获取数据)
我的代码低于/获取无尽的循环数据,有什么想法吗? (实际上,我想从机器人到我的PC获取CAN数据)------------------代码------------------------------------------------------
Importparamiko 导入时间
client= paramiko.sshclient() client.set_missing_host_key_policy(paramiko.autoaddpolicy())
try: client.connect(hostName ='192.168.x.xxx',port ='xx',用户名='xx',password ='xx')
stdin, stdout, stderr = client.exec_command('candump can0')
output = stdout.read()
error = stderr.read()
if output:
print(TimeStamp, output)
elif error:
print(TimeStamp, error)
例外例外为e: 打印(str(e))
Finally: client.close()
您可以尝试
import paramiko
import time
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
client.connect(hostname='192.168.X.XXX', port='XX', username='XX', password='XX')
stdin, stdout, stderr = client.exec_command('candump can0')
while True:
output = stdout.readline()
if output:
print(f"{time.strftime('%Y-%m-%d %H:%M:%S')} {output.strip()}")
else:
break
except Exception as e:
print(str(e))
finally:
client.close()