python_整型與IP地址的轉換
阿新 • • 發佈:2018-08-02
rto 代碼實現 p地址 關系 pri python 對齊 brush 進制
1. strip 函數接受參數,可刪除兩邊的字符,例如 strip(‘0b‘) 0和b是或的關系。在代碼中使用了lstrip 是因為bin函數進行轉換成二進制數字時會自動添加0b
2. zfill的功能是將字符串右對齊,前面用0補齊。
3. 代碼中調用的方法對於參數有要求是字符串或是整型的,這點需要註意轉換
代碼實現:
def integerToIP(integer): raw = bin(int(integer)).lstrip(‘0b‘).zfill(32) print raw ip = ‘%d.%d.%d.%d‘ % (int(raw[0:8],2) , int(raw[8:16],2) , int(raw[16:24],2) , int(raw[24:32],2)) return ip def ipToInteger(ip): raw = ip.split(‘.‘) if len(raw)!=4: print ‘不是合法的IP地址,請重新輸入‘ return binnum = bin(int(raw[0])).lstrip(‘0b‘).zfill(8)+bin(int(raw[1])).lstrip(‘0b‘).zfill(8)+bin(int(raw[2])).lstrip(‘0b‘).zfill(8)+bin(int(raw[3])).lstrip(‘0b‘).zfill(8) integer = int(binnum,2) return integer
python_整型與IP地址的轉換