本文實例講述了python將ip地址轉換成整數的方法。分享給大家供大家參考。具體分析如下:
有時候我們用數據庫存儲ip地址時可以將ip地址轉換成整數存儲,整數占用空間小,索引也會比較方便,下面的python代碼自定義了一個ip轉換成整數的函數,非常簡單,代碼同時還提供了整數轉換成ip地址的方法。
1
2
3
4
5
6
7
|
import socket, struct def ip2long(ip): """ Convert an IP string to long """ packedIP = socket.inet_aton(ip) return struct.unpack( "!L" , packedIP)[ 0 ] |
例如 www.jfrwli.cn的ip地址為:61.129.51.27,調用上面的ip2long轉換函數:
1
|
print ( 'www.jfrwli.cn ip address is %s' % ip2long( '61.129.51.27' )) |
輸出結果為:
1
|
www.jfrwli.cn ip address is 1031877403 |
如果要將整數轉換成ip地址,可以使用下面的方法:
1
|
socket.inet_ntoa(struct.pack( '!L' , 2130706433 )) |
輸出結果為:
1
|
'127.0.0.1' |
希望本文所述對大家的Python程序設計有所幫助。