输入 172.14.0.0/24,返回数组从 172.14.1.1-172.14.254.254
怎么实现这种效果?
输入 172.14.0.0/24,返回数组从 172.14.1.1-172.14.254.254
怎么实现这种效果?
|
DevNetMar 29, 2018
2
IPy 这个模块专门处理 IP 的,你看看,应该能满足你的需求
|
|
DevNetMar 29, 2018
4
才发现,楼主掩码写的不对
172.14.0.0/24 = 172.14.0.1~172.14.0.255 172.14.0.0/16 = 172.14.0.1~172.14.255.255 |
|
GreenmMar 29, 2018
5
netaddr 了解一下
|
|
6
如果是 Python3 的话,官方的 ipaddress 库了解
```python3 import ipaddress first, *_, last = ipaddress.IPv4Network('172.14.0.0/24').hosts() print('{} - {}'.format(first, last)) ``` |
|
7
额 刚刚在吃饭 打错了 不好意思
|
|
exiaohaoMar 29, 2018
9
首先,172.14.0.0/24 应该是 172.14.0.0-172.14.0.255
然后用 ipaddress 就可以搞定了啊 ```python def every_addr(ip_range): import ipaddress ipn = ipaddress.IPv4Network(ip_range) return [ipn.network_address + i for i in range(0, 2 ** (32 - ipn._prefixlen))] ``` |
|
ScotGuMar 29, 2018
10
@DevNet #4
>才发现,楼主掩码写的不对 >172.14.0.0/24 = 172.14.0.1~172.14.0.255 >172.14.0.0/16 = 172.14.0.1~172.14.255.255 LZ 的要求应该是可用 IP 吧。 一个网段最后的 .255 是广播位,不可用。 |
|
exiaohaoMar 29, 2018
11
|
|
fanhaipeng0403Mar 29, 2018
12
ipaddress 库?
|