ipaddress.ipv4网络遍历1个主机p

2024-10-02 16:32:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在某个ipv4网络中生成一个IP地址列表

而不是返回10.0.0.1, 10.0.0.2, 10.0.0.3这样的列表。下面的代码在这方面起作用

我想看一个类似10.0.1.0, 10.0.2.0, 10.0.3.0的列表。如何获取下面的代码来执行此操作

ip_range = [str(ip) for ip in ipaddress.IPv4Network('10.0.0.0/24')]

Tags: 代码inip网络列表forrangeipv4
1条回答
网友
1楼 · 发布于 2024-10-02 16:32:29

此脚本将生成地址10.0.1.0、10.0.2.0、10.0.3.0、

import ipaddress
from itertools import islice

def generate_addresses():
    for ip in islice(ipaddress.IPv4Network('10.0.0.0/16'), 0, None, 256):
        yield '.'.join(str(ip).split('.')[:-1] + ['0'])

print('\n'.join(generate_addresses()))

印刷品:

10.0.0.0
10.0.1.0
10.0.2.0
10.0.3.0
10.0.4.0
10.0.5.0
10.0.6.0
...and so on.

编辑:要将其存储到列表中,可以使用以下命令:

ip_range = [*generate_addresses()]

相关问题 更多 >