是的,Python的ipaddress模块可以进行子网划分。您可以使用该模块中的IPv4Network
和IPv6Network
类来创建子网对象,并使用其方法来执行子网划分操作。
例如,以下代码将创建一个IPv4子网对象,并将其划分为四个子网:
import ipaddress
subnet = ipaddress.IPv4Network('192.168.1.0/24')
subnets = list(subnet.subnets(new_prefix=26))
for subnet in subnets:
print(subnet)
输出:
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26
在这个例子中,我们首先创建了一个IPv4Network
对象,表示一个包含32个IP地址的子网(CIDR表示法中的/24)。然后,我们使用subnets()
方法将其划分为四个子网,每个子网包含64个IP地址(CIDR表示法中的/26)。最后,我们遍历并打印这四个子网对象。