最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 處理telnet返回的More,以及get想要的那個參數(shù)方法

 更新時間:2019年02月14日 10:03:44   作者:BigDeng_2014  
今天小編就為大家分享一篇python 處理telnet返回的More,以及get想要的那個參數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題:

需要循環(huán)獲取網(wǎng)元返回的某個參數(shù),并計算出平均值。

解決方案:

通過expect解決返回More的問題。

通過具體的參數(shù)位置,精確獲取到參數(shù)。

討論:

參數(shù)位置固定,不好復(fù)用。

#! usr/bin/env python

# -*- coding: utf-8 -*-

import telnetlib
import math
import time

def get_param(b):
 "獲取相應(yīng)的參數(shù),返回float型參數(shù)組"
 c = []
 b = list(b)
 length = len(b)
 print length
 for x in b:
 c.append(float(x))
 print c
 return c

def get_avg(a):
 "獲取平均值"
 length = len(a)
 sum = 0
 for x in a:
 sum += x
 avg = sum/length
 return avg

def get_telnet(tn):
 "獲取telnet數(shù)據(jù)"
 for command in commands: 
 tn.write('%s\n' % command)
 time.sleep(0.5)
## result = tn.read_very_eager() # 不用read_all(),不能處理More
 print "**************"
 a = []
 a.append('More')
 print a
 result = str()
 while True:
  b,c,d = tn.expect(a,timeout=1)
  print b # 有More為0,無More為-1
  print 'cccccccccccccccccccccccccccccccccccccccccccc'
  print c
  print 'dddddddddddddddddddddddddddddddddddddddddddd'
  print d
  result += d
  if 0 == b:
  print "There has 'More'!!!"
  tn.write(r' ') #不用\r\n來繼續(xù)
  else:
  break
 print 'get result success!'
 print result #獲取到帶More的所有返回結(jié)果 
 a = result.split('\r\n') # 不要加r
 length = len(a)
 print length
 b = a[1].split(' ')
 print b
 print a[32]
 c = a[32]
 d = c.split(' ')
 print d
 length = len(d)
 print d[8]
 e = d[8].split('(')
 print e[0]
 return e[0] 

def close_telnet(tn):
 "執(zhí)行完畢后,終止Telnet連接(或輸入exit退出)"
 tn.write('exit\n')
 tn.close()
 
def open_telnet(Host, username, password, finish, commands): 
 "Telnet遠(yuǎn)程登錄"
 # 連接Telnet服務(wù)器 
 tn = telnetlib.Telnet(Host, port=23, timeout=10) 
 tn.set_debuglevel(2)
 # 輸入登錄用戶名 
 tn.read_until('Username:') 
 tn.write(username + '\n') 
 # 輸入登錄密碼 
 tn.read_until('Password:') 
 tn.write(password + '\n')

 # 登錄完畢后執(zhí)行命令 
 tn.read_until(finish) 
 return tn
 
if __name__=='__main__': 
 Host = '' # Telnet服務(wù)器IP 
 username = '' # 登錄用戶名 
 password = '' # 登錄密碼 
 finish = '#' # 命令提示符
 param = []

 commands = ['sho optical-module-info xgei-1/3/1']
 tn = open_telnet(Host, username, password, finish, commands)
 for i in range(1,10):
 param.append(get_telnet(tn))
 close_telnet(tn)
 print param
 print get_avg(get_param(param))
 


'''

運行結(jié)果:

37
['Optical', 'Module', 'Position', ':', 'xgei-1/3/1']
Bias-Upper : 131(mA)  Bias-Lower : 0(mA)
['Bias-Upper', '', '', '', '', '', '', ':', '131(mA)', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Bias-Lower', '', '', '', '', '', '', ':', '0(mA)']
131(mA)
131
Telnet(172.10.1.123,23): send 'exit\n'
['131', '131', '131', '131', '131', '131', '131', '131', '131']
9
[131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0]
131.0
>>> 
'''

以上這篇python 處理telnet返回的More,以及get想要的那個參數(shù)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 制作本地應(yīng)用搜索工具

    python 制作本地應(yīng)用搜索工具

    這篇文章主要介紹了python 制作本地應(yīng)用搜索工具的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • 如何用python識別滑塊驗證碼中的缺口

    如何用python識別滑塊驗證碼中的缺口

    這篇文章主要介紹了如何用python識別滑塊中的缺口,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • python Jupyter運行時間實例過程解析

    python Jupyter運行時間實例過程解析

    這篇文章主要介紹了python Jupyter運行時間實例過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • python實現(xiàn)人臉簽到系統(tǒng)

    python實現(xiàn)人臉簽到系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)人臉簽到系統(tǒng),帶數(shù)據(jù)庫存儲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 詳解python tkinter模塊安裝過程

    詳解python tkinter模塊安裝過程

    tkinter其實是Python調(diào)用tcl程序的標(biāo)準(zhǔn)Python程序,可以通過這個interface調(diào)用tcl的程序,因為在大多數(shù)的unix系統(tǒng)中都內(nèi)置了很多的tcl程序和命令。這篇文章主要介紹了python tkinter模塊安裝,需要的朋友可以參考下
    2020-01-01
  • Pytorch使用CUDA流(CUDA?stream)的實現(xiàn)

    Pytorch使用CUDA流(CUDA?stream)的實現(xiàn)

    本文主要介紹了Pytorch使用CUDA流(CUDA?stream)的實現(xiàn),CUDA流是在GPU上并行執(zhí)行操作的一種機(jī)制,通過使用CUDA流,可以將不同的操作分配給不同的流,在不同的流上并行執(zhí)行這些操作,從而提高代碼的性能
    2023-12-12
  • Python下的Mysql模塊MySQLdb安裝詳解

    Python下的Mysql模塊MySQLdb安裝詳解

    在Python環(huán)境下,如果想操作MySQL數(shù)據(jù)庫,難免會調(diào)用相應(yīng)的包,比如常用的:MySQLdb通過導(dǎo)入:import MySQLdb 后,可直接調(diào)用里面的方法
    2014-04-04
  • Python列表list數(shù)組array用法實例解析

    Python列表list數(shù)組array用法實例解析

    這篇文章主要介紹了Python列表list數(shù)組array用法,實例解析了關(guān)于數(shù)組的各種常見操作,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • Python?ChineseCalendar包主要類和方法詳解

    Python?ChineseCalendar包主要類和方法詳解

    ChineseCalendar?是一個?Python?包,用于獲取中國傳統(tǒng)日歷信息。這個包提供了中國農(nóng)歷、二十四節(jié)氣、傳統(tǒng)節(jié)日、黃歷等信息,這篇文章主要介紹了Python?ChineseCalendar包簡介,需要的朋友可以參考下
    2023-03-03
  • 使用python請求接口方式(可進(jìn)行并發(fā)測試)

    使用python請求接口方式(可進(jìn)行并發(fā)測試)

    這篇文章主要介紹了使用python請求接口方式(可進(jìn)行并發(fā)測試),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

定结县| 乐昌市| 江都市| 金塔县| 嵊泗县| 定陶县| 定陶县| 新绛县| 阳高县| 西林县| 潢川县| 平凉市| 长葛市| 宣汉县| 凌海市| 安徽省| 买车| 万宁市| 武强县| 开封市| 澄城县| 本溪市| 石狮市| 宣城市| 霍邱县| 洪泽县| 锦州市| 大城县| 五大连池市| 榕江县| 呼图壁县| 蒙山县| 平和县| 秦皇岛市| 布拖县| 长泰县| 太白县| 五华县| 交口县| 镇远县| 阳东县|