将IPNetworks列表转换为实际子网

时间:2019-05-02 12:24:56

标签: python

我有IPNetwork对象列表(从netaddr导入IPNetwork),如下所示,但更长了

[IPNetwork('10.1.0.0/24'), IPNetwork('10.1.1.0/24'), IPNetwork('10.1.2.0/24')]

我想将其转换为实际子网列表:

['10.1.0.0/24', '10.1.1.0/24', '10.1.2.0/24']

尝试了所有可用的IPNetwork方法,无法找到实现此目的的优雅方法。

1 个答案:

答案 0 :(得分:4)

就像对str的打字一样简单

from netaddr import IPNetwork

li = [IPNetwork('10.1.0.0/24'), IPNetwork('10.1.1.0/24'), IPNetwork('10.1.2.0/24')]
for item in li:
    #Convert to string and print it
    nw = str(item)
    print(type(nw))
    print(nw)

输出将为

<class 'str'>
10.1.0.0/24
<class 'str'>
10.1.1.0/24
<class 'str'>
10.1.2.0/24

您可以nw是一个字符串,我也可以打印它!