python 將ipv4的格式轉換
阿新 • • 發佈:2017-08-16
ipv4 python 格式轉換
Python的 socket 庫提供了很多用來處理不同IP地址格式的函數,要使用底層網絡函數,有時普通的字符串形式的IP地址並不是很有用,需要把它們轉換成打包後的32位二進制格式,Python的socke庫提供了很多用來處理不同IP地址格式的函數,這裏我們使用其中的兩個相對標準:inet_aton() 和inet_ntoa()我們來定義convert_ip4_address()函數,調用inet_aton() 和 inet_ntoa() 轉換IP地址。這裏使用兩個示例IP地址:192.168.10.1 和 10.10.10.128
段代碼中技術點使用了如下幾個方面:
1、for-in循環語句定義192.168.10.1和10.10.10.128兩個IP
2、使用inet_aton()把兩個字符串格式的IP地址轉換成打包後的32位二進制格式
3、使用inet_ntoa()把轉換成打包的32bit地址轉換為十進制格式
3、使用binascii模塊中的hexlify函數,以十六進制形式表示二進制數據。
4、print分段打印輸出格式
代碼如下:
import socket from binascii import hexlify def convert_ipv4_address(): for ip_addr in [‘192.168.10.1‘,‘10.10.10.128‘]: packed_ip_addr = socket.inet_aton(ip_addr) unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr) print ("IP Address: %s => Packed: %s, Unpacked: %s" %(ip_addr,hexlify(packed_ip_addr),unpacked_ip_addr)) convert_ipv4_address()
備註:還要是註意格式的縮進,python對於縮進格式要求相對嚴格
執行結果截圖如下:
本文出自 “老白的博客” 博客,請務必保留此出處http://laobaiv1.blog.51cto.com/2893832/1956413
python 將ipv4的格式轉換