python 将ipv4的格式转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 将ipv4的格式转换相关的知识,希望对你有一定的参考价值。

  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的格式转换的主要内容,如果未能解决你的问题,请参考以下文章

华为OD机试真题Python实现IPv4 地址转换成整数真题+解题思路+代码(2022&2023)

为 Blogger 上的博客格式化代码片段 [关闭]

Python:运用pydub模块转换音频格式对音频进行剪辑

Python:运用pydub模块转换音频格式对音频进行剪辑

python将文本转换成语音的代码

python之ipv4的ip转换为int数值