使用了telnetlib模塊,首先登錄到交換機,列出并獲取配置文件的名稱,然后通過tftp協議將配置文件傳輸到文件服務器上,為避免配置文件覆蓋,將備份的配置文件名稱統一加入日期以作區分。1.登錄方式和口令有好幾種,比較懶惰,通過不同列表以做區分,如果每個交換機口令都不相同的話,就需要額外處理了。2.交換機的配置文件也有多種類型,也是通過列表進行區分。3.有些交換機支持ftp和sftp,但測試發現有些雖然有相應的客戶端命令,但傳輸總有問題。也不能將每個交換機
系統 2019-09-27 17:57:11 1697
1.創建自己的類學習面向對象的第一步,就是創建一個類。因為類是面向對象的基石。Python類和其他編程語言(Java、C#等)的類差不多,也需要使用class關鍵字。下面通過一個實際的例子來看一下Python類是如何創建的。本例會創建一個類,以及利用這個類創建兩個對象,并調用其中的方法。程序運行結果如下圖所示。從上面的代碼我們可以了解到Python類的如下知識點。Python類使用class關鍵字定義,類名直接跟在class關鍵字的后面。類也是一個代碼塊,
系統 2019-09-27 17:57:05 1697
如下所示:#返回一個列表中第二大的數defsecond(ln):max=0s={}foriinrange(len(ln)):flag=0forjinrange(len(ln)):ifln[i]>=ln[j]andi!=j:flag=flag+1s[i]=flagifflag>max:max=flagprint(s)foriins:ifs[i]==max-1:breakprint(ln[i])second([1,2,7,4,5,6,8,5,3,3,9,9,1
系統 2019-09-27 17:56:57 1697
相關模塊osos.pathshutilpathlib(Newinversion3.4)基本操作判斷文件(夾)是否存在。os.path.exists(pathname)#newpathlib.Path(pathname).exists()判斷路徑名是否為文件。os.path.isfile(pathname)#newpathlib.Path(pathname).is_file()判斷路徑名是否為目錄。os.path.isdir(pathname)#newpat
系統 2019-09-27 17:56:34 1697
代碼importpsutilprint(dir(psutil))#查看邏輯cpu的個數print(psutil.cpu_count())#查看物理cpu的個數print(psutil.cpu_count(logical=False))#查看cpu的用戶時間,系統時間,空閑時間,中斷時間print(psutil.cpu_times())#統計每個cpu的使用率print(psutil.cpu_percent(interval=2,percpu=True))#
系統 2019-09-27 17:56:18 1697
文本庫string:通用字符串操作re:正則表達式操作difflib:差異計算工具textwrap:文本填充unicodedata:Unicode字符數據庫stringprep:互聯網字符串準備工具readline:GNU按行讀取接口rlcompleter:GNU按行讀取的實現函數二進制數據庫struct:將字節解析為打包的二進制數據codecs:注冊表與基類的編×××數據類型庫datetime:基于日期與時間工具calendar:通用月份函數collec
系統 2019-09-27 17:56:06 1697
文件的屬性所謂屬性,就是能夠通過一個文件對象得到的東西。復制代碼代碼如下:>>>f=open("131.txt","a")>>>f.name'131.txt'>>>f.mode#顯示當前文件打開的模式'a'>>>f.closed#文件是否關閉,如果關閉,返回True;如果打開,返回FalseFalse>>>f.close()#關閉文件的內置函數>>>f.closedTrue文件的有關狀態很多時候,我們需要獲取一個文件的有關狀態(有時候成為屬性,但是這里的文
系統 2019-09-27 17:56:05 1697
面向對象基礎面向對象編程:把一組數據結構和處理它們的方法組成對象(object),把相同行為的對象歸納為類(class),通過類的封裝(encapsulation)隱藏內部細節,通過繼承(inheritance)實現類的特化(specialization)和泛化(generalization),通過多態(polymorphism)實現基于對象類型的動態分派。簡單地說,類是對象的藍圖和模板,對象是類的實例。python中可以使用class關鍵字定義類,在類中
系統 2019-09-27 17:56:01 1697
模塊內部封裝了很多實用的功能,有時在模塊外部調用就需要將其導入。常見的方式有如下幾種:1.import>>>importsys>>>sys.path['','C:\\Python34\\Lib\\idlelib','C:\\Windows\\system32\\python34.zip','C:\\Python34\\DLLs','C:\\Python34\\lib','C:\\Python34','C:\\Python34\\lib\\site-pack
系統 2019-09-27 17:55:57 1697
對于普通的生成器,第一個next調用,相當于啟動生成器,會從生成器函數的第一行代碼開始執行,直到第一次執行完yield語句(第4行)后,跳出生成器函數。然后第二個next調用,進入生成器函數后,從yield語句的下一句語句(第5行)開始執行,然后重新運行到yield語句,執行后,跳出生成器函數,后面再次調用next,依次類推。下面是一個列子:defconsumer():r='here'foriinxrange(3):yieldrr='200OK'+str(
系統 2019-09-27 17:55:41 1697