在windows客户端下使用telnetlib库telnet功能在HP主机上执行的问题。

在windows客户端下使用telnetlib库telnet功能在HP主机上执行的问题。

在windows客户端下使用telnetlib库telnet功能在HP主机上执行的问题。

tn=telnetlib.Telnet(HOST)

登陆HP主机成功,然后执行命令,如下:

tn.write("bdf\n")
tn.write("exit\n")
然后执行如下命令:
print tn.read_all()
结果打印输出的信息只能显示到登陆HP主机,后续的执行的bdf命令和exit命令的结果没有任何输出,python也挂死了。

请问在HP主机是否有特殊的处理?上述操作在AIX操作系统上执行没有任何问题。
我也试过,不知其中原因.
def checkradius1(host,n,comm):
               #comm is   command name
               # bdf and sar 1 10
        tn = telnetlib.Telnet(host['ip'][n])
        #tn.set_debuglevel(2)       
        tn.read_until("login: ")
        tn.write(host['user'] + "\n")
        tn.read_until("Password: ")
        tn.write(host['password'] + "\n")
        tn.read_until("$");                       
        tn.write("%s\n"%(comm))
        result=tn.read_until("$");
        tn.write("exit\n");
        fTemp=open("~~~~tempZJ~~~~", 'w')
        fTemp.write(result)
        fTemp=open("~~~~tempZJ~~~~", 'r')
        isFinished=0
        result=[];
        while isFinished == 0:
                tempStr = fTemp.readline();
                if len(tempStr)>0:
                        if len(tempStr) > 10  and tempStr.find("Filesystem")==-1:               
                                tempStr=tempStr.replace("    "," ");
                                tempStr=tempStr.replace("   "," ");
                                tempStr=tempStr.replace("  "," ");
                                tempStr=tempStr.replace("  "," ");
                                tempStr=tempStr.replace(" ",",");
                                tempStr=tempStr.replace("\r","");
                                tempStr=tempStr.replace("\n","");
                                tempStr=tempStr.replace("%","")
                                result.append(tempStr.split(','));                               
                else:
                        isFinished = 1;  #Mark to finished this loop;
        fTemp.close();   
        return result;
试试上面的一段程序。我已经运行过了,没有问题的。