【发布时间】:2016-07-05 02:04:46
【问题描述】:
我有一个关于 Python 的 telnetlib-Library 的问题。
import telnetlib
message= ('\x02'+'DD'+'\x03')
print message
tn = telnetlib.Telnet('IP','PORT')
tn.write(message)
while True:
data = tn.read_all()
if data:
print data
我想与数据记录器通信。数据记录器需要如下所示的命令:
STX + 命令 + ETX
通过 Putty / telnet 将 STX+command+ETX 短语发送到数据记录器,数据记录器会“回答”,例如通过发送当前时间。
现在,我想通过 python 脚本向记录器发送相同的内容。不幸的是,我在 python shell 中没有收到任何答案,只是一个空格。
你能帮帮我吗?
请注意, 菲尔
【问题讨论】:
-
只是猜测:尝试在您发送的字符串末尾添加
\n或\r\n。还可以使用print repr(data)查看返回的确切字符串。 -
另一个猜测:你需要登录数据记录器吗?
-
没有。正如我在原始问题中提到的,所有命令都可以通过 Putty 提交来工作......
-
tn.read_all()-command 在 tn.write(message)之后是否有问题?也许python脚本应该在之前命令被提交?
-
我会接受@PM2Ring 的建议。在命令末尾添加换行符。我自己完全完成了这件事,并花了一个小时想知道为什么我的仪器在通过 PuTTY 时没有回复我。