通过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')

任何想法?????

+0

进口报表是否有效?你准确得到什么错误信息?你可能会错误地在脚本中调用python。 – BenT

+0

导入语句确实有效,因为我的“time.sleep(1)”函数确实正在工作,并且我得到延迟。问题是,我没有收到任何错误消息。就好像该命令被调用并解析,但实际上并没有发生。但是当我将相同的命令复制并粘贴到命令行界面时,它完美地工作。 – user41178

+0

从''n = ....;'行删除分号你可能会压制你的错误信息。 – BenT

我想出了为什么这种情况发生在大多数情况下,对于将来有这个问题的其他人。

我错了端口!我将它从5024改为5025,现在它完美地工作。我不明白为什么它在命令行中运行,而不是脚本,但我现在很高兴,现在没有更多。