亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Python 3生成IPv6地址格式時遇到的lstrip()與切片的問題

發布時間:2020-07-09 06:01:45 來源:網絡 閱讀:1473 作者:kevinxsm82 欄目:編程語言

今天應領導要求,要對學院獲取到的IPv6地址段進行規劃,拿到的地址前綴是/48的,打算拿接下來的16位來作為子網地址,于是開始規劃子網。16位子網地址,能劃分出2^16=65536這么多個子網,要是手工一個一個地列出來,估計我得先預約醫院的床位。第一個想到的是用Excel來完成。可是對Excel函數和VBA不熟悉,嘗試了半個多小時無果而終,還是自己寫個Python腳本吧。
第1版是這樣的:

i = 0
while i < 65536:
        #s存放對應的二進制數的str并去掉前導的'0b'
        s =  bin( i ).lstrip( '0b' )
        #如果s的長度不夠16位就在前面補0
        while len( s ) < 16:
                s = '0' + s    
        #將s的每4位轉換成一個大寫的十六進制
        h2 = hex( int( s[:4], 2 )).lstrip( '0x' ).upper()
        h3 = hex( int( s[4:8], 2 )).lstrip( '0x' ).upper()
        h4 = hex( int( s[8:12], 2 )).lstrip( '0x' ).upper()
        h5 = hex( int( s[12:16], 2 )).lstrip( '0x' ).upper()
        h =  h2 + h3 + h4 + h5
        print( h )
        i += 1

運行的結果不太對:
……
FFEF
FFF
FFF1
……
‘0’去哪了?應該是“FFF0”這個樣子才對!哪里出問題了呢?于是開始調試。第一個循環就發現問題了:i=0,bin(i)得到的是‘0b0’,執行完lstrip('0b')之后s變成空了!趕緊查文檔找原因。在文檔中發現了這么一句話:lstrip( [ chars ] )……The chars argument is not a prefix; rather, all combinations of its values are stripped,百度翻譯的結果是“chars參數不是前綴;相反,它的值的所有組合都被剝離”。好吧,我一不小心掉進這個坑了!還是用切片吧,遠離lstrip這家伙!
于是改成了第2版:

i = 0
while i < 65536:
        #s存放對應的二進制數的str并去掉前導的'0b'
        #s =  bin( i ).lstrip( '0b' ),千萬不要用lstrip,它會去掉0
        #應該用切片[2:]來提取‘0b’后面的字符串
        s = bin ( i )[2:]
        #如果s的長度不夠16位就在前面補0
        while len( s ) < 16:
                s = '0' + s    
        #將s的每4位轉換成一個大寫的十六進制
        h2 = hex( int( s[:4], 2 ))[2:].upper()
        h3 = hex( int( s[4:8], 2 ))[2:].upper()
        h4 = hex( int( s[8:12], 2 ))[2:].upper()
        h5 = hex( int( s[12:16], 2 ))[2:].upper()
        h =  h2 + h3 + h4 + h5
        print( h )
        i += 1

試運行一下,挺好,結果看起來順眼多了!

(后記:后來知道有相應的管理工具:SolarWinds要錢,PHPIPAM、NIPAP免費功能也很強大。)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴青县| 巧家县| 拜城县| 手机| 许昌市| 合肥市| 肃北| 德江县| 饶平县| 绍兴县| 民和| 东乌| 安阳市| 剑川县| 广河县| 乌海市| 十堰市| 双城市| 青冈县| 阿鲁科尔沁旗| 科技| 荆州市| 牡丹江市| 定南县| 肥东县| 邹城市| 百色市| 中宁县| 合阳县| 佳木斯市| 观塘区| 永胜县| 乌拉特中旗| 黔江区| 泗洪县| 中卫市| 襄城县| 县级市| 武乡县| 方城县| 千阳县|