python 将ipv4的格式转换
? Python的 socket 庫提供了很多用來處理不同IP地址格式的函數(shù),要使用底層網(wǎng)絡函數(shù),有時普通的字符串形式的IP地址并不是很有用,需要把它們轉(zhuǎn)換成打包后的32位二進制格式,Python的socke庫提供了很多用來處理不同IP地址格式的函數(shù),這里我們使用其中的兩個相對標準:inet_aton() 和inet_ntoa()我們來定義convert_ip4_address()函數(shù),調(diào)用inet_aton() 和 inet_ntoa() 轉(zhuǎn)換IP地址。這里使用兩個示例IP地址:192.168.10.1 和 10.10.10.128
段代碼中技術點使用了如下幾個方面:
1、for-in循環(huán)語句定義192.168.10.1和10.10.10.128兩個IP
2、使用inet_aton()把兩個字符串格式的IP地址轉(zhuǎn)換成打包后的32位二進制格式
3、使用inet_ntoa()把轉(zhuǎn)換成打包的32bit地址轉(zhuǎn)換為十進制格式
3、使用binascii模塊中的hexlify函數(shù),以十六進制形式表示二進制數(shù)據(jù)。
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對于縮進格式要求相對嚴格
執(zhí)行結(jié)果截圖如下:
轉(zhuǎn)載于:https://blog.51cto.com/laobaiv1/1956413
總結(jié)
以上是生活随笔為你收集整理的python 将ipv4的格式转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript3基础——运算符和类
- 下一篇: Python(十)之GUI编程