通过python的Telnet在命令行中工作,但不在脚本中
问题描述:
我通过使用telnet通过python控制仪器,并且通过命令行一切正常,但是当我尝试将这些完全相同的命令放入脚本并执行它,没有任何命令的工作。我试图把命令之间的一些延迟的建议通过这个帖子:通过python的Telnet在命令行中工作,但不在脚本中
Python telnet works in command line but not in script
,但没有奏效。到底是怎么回事?我对Python相当陌生,所以它可能只是我在做一些愚蠢的事情。所以这是我的代码。
#!/usr/bin/env python
import sys
import time
import telnetlib
time.sleep(1)
tn = telnetlib.Telnet('192.168.1.250',5024);
time.sleep(1)
tn.write('FREQ:START 190e6\n')
time.sleep(1)
tn.write('FREQ:STOP 210e6\n')
time.sleep(1)
tn.write('MMEM:CDIR "[USBDISK]:"\n')
time.sleep(1)
tn.write('MMEM:STOR:FDAT "test1.csv"\n')
任何想法?????
答
我想出了为什么这种情况发生在大多数情况下,对于将来有这个问题的其他人。
我错了端口!我将它从5024改为5025,现在它完美地工作。我不明白为什么它在命令行中运行,而不是脚本,但我现在很高兴,现在没有更多。
进口报表是否有效?你准确得到什么错误信息?你可能会错误地在脚本中调用python。 – BenT
导入语句确实有效,因为我的“time.sleep(1)”函数确实正在工作,并且我得到延迟。问题是,我没有收到任何错误消息。就好像该命令被调用并解析,但实际上并没有发生。但是当我将相同的命令复制并粘贴到命令行界面时,它完美地工作。 – user41178
从''n = ....;'行删除分号你可能会压制你的错误信息。 – BenT