文档章节

python telnet 中的数据判断(或者执行cmd后返回的数据 OperatingSystem.Run)

o
 osc_g8254g7s
发布于 2019/08/19 17:36
字数 319
阅读 7
收藏 0

精选30+云产品,助力企业轻松上云!>>>

# -*- coding: utf-8 -*-
import binascii
import re



def split_1(data,split_sign):
    data2=[]
    for i in data:
        data3 = i.split(split_sign)
        for n in data3:
            n=n.strip()
            data2.append(n)
    return data2
def curl_time(data):
    data = data.encode("gbk")
    #print "--------------------"
    #print data
    #print "--------------------"
    pattern=re.compile(r"(..:..:..)")
    time=pattern.findall(data)
    timetotal=time[-3]
    print timetotal
    if timetotal=="--:--:--":
        timetotal=0
    print"**************************"
    print ("Executive the command expend %s seconeds ."%timetotal)
    print"**************************"
    return timetotal
def telnet_data(data1,*val):
    data2=data1.encode('gbk')
    #data2 = data1.replace(" ","")
    #data2 = binascii.unhexlify(data1)
    print data2
    data2 = data2.split("\n")  
    #data5=split_1(data2," ")
    data6=split_1(data2,"{")
    
    data=split_1(data6,"}")
    data4=split_1(data,"\r")

    

    print "-----------"
    print data4
    print "-----------"
    num=0
    if type(val) is tuple:
        val=list(val)
    val2=[]
    for i in val:
        val1 = i.encode('gbk')
        #print 11111
        #print val1
        #print type(val1)
        val2.append(val1)
        #val1 = val1.split(",") 
        #for n in val1:
            #n=n.strip()
            #val2.append(n)
    print "-----------"
    print val2
    print "-----------"
    for i in val2:
        print i
        if i in data4:
            num = data4.index(i)
            print "%s is ok."%i
        else:
            return "not_ok",None
    curl_time1=curl_time(data1)
    return "ok",curl_time1

def com_read1(data2):
     data2 = data2.replace(" ","")
     data = binascii.unhexlify(data2)
     #data = data.encode('gbk')
     #print data
     #data = data.split("\r\n") 
     #print data  
     return data
def com_read_contain1(data2,val2):
     data2 = data2.replace(" ","")
     data = binascii.unhexlify(data2)
     #data = data.encode('gbk')
     val2 = val2.encode('gbk')
     #print data
     #data = data.split("\r\n") 
     #print data  
     return data,val2
    

if __name__ == "__main__":
    s = '''% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   277  100   107  100   170    175    279 --:--:-- --:--:-- --:--:--   279{
   "SSID_Index" : "2",
   "errorCode" : "0",
   "errorMsg" : "OK",
   "function" : "setWifiSSIDCommon"
}'''
    a,b=telnet_data(s,'"SSID_Index" : "2",','"errorCode" : "0",')
    #a,b=com_data(s,'root@OpenWrt:~#')
    print a,b
    #c = com_read(s)
    #print c

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

2020-07-03:有1亿个数字,其中有2个是重复的,快速找到它,时间和空间要最优

福哥答案2020-07-03: 1.双重遍历。 时间复杂度是O(N^2)。 2.排序。 采用外部排序。时间复杂度是O(NlogN)。 3.遍历加哈希存储。 空间换时间,时间复杂度是O(N),空间复杂度是O(N)。这种方法适...

osc_ix000whh
4分钟前
0
0
O2OA开源免费开发平台:在O2门户页面中使用React(三)

在前面的章节中,我们介绍了两种在O2OA中使用React开发应用的方式,已经可以满足绝大多数的情况了。如果您考虑完全脱离O2的web服务器,自己搭建web服务器,那就请阅读本章。   我们还是使用...

O2OA企业信息化平台
4分钟前
0
0
harbor 2.0 搭建docker私有仓库

harbor Harbor 是一个CNCF基金会托管的开源的可信的云原生docker registry项目,可以用于存储、签名、扫描镜像内容,Harbor 通过添加一些常用的功能如安全性、身份权限管理等来扩展 docker r...

osc_l7zl78wt
6分钟前
0
0
Java并发编程(06):Lock机制下API用法详解

本文源码:GitHub·点这里 || GitEE·点这里 一、Lock体系结构 1、基础接口简介 Lock加锁相关结构中涉及两个使用广泛的基础API:ReentrantLock类和Condition接口,基本关系如下: Lock接口 ...

osc_kiub62pt
7分钟前
0
0
DNS存在的问题

1、域名缓存问题 本地做一个缓存,直接返回缓存数据。可能会导致全局负载均衡失败,因为上次进行的缓存,不一定是这次离客户最近的地方,可能会绕远路。 2、域名转发问题 如果是A运营商将解析...

mind-blowing
8分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部