日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:python怎么連接telnet

python內(nèi)置了Telnetlib模塊,支持telnet遠(yuǎn)程操作,只要直接import就可以。

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、阿圖什ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的阿圖什網(wǎng)站制作公司

1、導(dǎo)入telnetlib庫(kù)可以直接使用。

from telnetlib import Telnet

2、配置服務(wù)器、用戶名、密碼,cmd命令等

##############################需要配置信息##########################
#關(guān)聯(lián)設(shè)備服務(wù)器IP列表
Hosts=['192.168.1.xx','192.168.1.xx','192.168.1.xx','192.168.1.xx','192.168.1.xx','192.168.1.xx'] 
# 登錄用戶名   
username = 'xx' 
# 登錄密碼  
password = 'xx'
#EN命令
EN = 'xx'
#二次驗(yàn)證口令
ZXR10 = 'xx'   
# 命令提示符
finish = 'xx#' 
#需要執(zhí)行的命令
commands = ['show lte data processing report','show interface xgei1/1']     
#輸出內(nèi)容寫入文件
g_outfilePath = '/home/tnOutResult'
####################################################################

IP、username、pwd等都以參數(shù)形式傳入功能函數(shù)。

def do_telnet(Hosts, username, password, finish, commands):

3、功能函數(shù) 

功能函數(shù)主要實(shí)現(xiàn)Telnet的遠(yuǎn)程登錄、命令執(zhí)行。

# 連接Telnet服務(wù)器  
        tn = 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')
        # 輸入命令en  
        tn.read_until('ZXR10>')  
        tn.write(EN + '\n')
        # 輸入二次驗(yàn)證口令  
        tn.read_until('Password:')  
        tn.write(ZXR10 + '\n')
        # 登錄完畢后執(zhí)行命令  
        tn.read_until(finish)  
        for command in commands:  
            tn.write(command + '\n')
            time.sleep(2)
            for i in range(10):
                tn.write(' ')
                time.sleep(0.1)
            Outresult = tn.read_very_eager()
    #執(zhí)行完畢后,終止Telnet連接(或輸入exit退出)  
    #tn.read_until(finish)  
    tn.close() # tn.write('exit\n')

read_very_eager()函數(shù)是telnetlib模塊里的read方法,這里要設(shè)置延時(shí)time.sleep(2),才能保證數(shù)據(jù)讀取完畢。

telnetlib模塊里的read方法介紹:

read_until():當(dāng)結(jié)果中存在想要的信息時(shí)返回。

read_some():只要有結(jié)果就返回。

read_very_lazy():返回緩沖區(qū)中的數(shù)據(jù)。

telnetlib采用緩沖的處理方式,因此數(shù)據(jù)并不是一下子就返回的,而是先放在了緩沖區(qū)中。許多的讀取處理都是圍繞著這個(gè)緩沖區(qū)來的。而緩沖區(qū)的信息何時(shí)到達(dá)就不說不清楚 了,也許很快,也許很慢,也許分別到達(dá),也許一下子就收到了。因此,對(duì)于數(shù)據(jù)不一定到齊的這種情況,就采用了read_until()來判斷緩沖區(qū)中的數(shù)據(jù)是否有想要的內(nèi)容,如果沒有就等待,除非到達(dá)了超時(shí)時(shí)間。

python學(xué)習(xí)網(wǎng),大量的免費(fèi)python視頻教程,歡迎在線學(xué)習(xí)!


分享名稱:創(chuàng)新互聯(lián)Python教程:python怎么連接telnet
文章源于:http://www.5511xx.com/article/dhephgj.html