【问题标题】:Python program to convert wildcard mask to netmaskPython程序将通配符掩码转换为网络掩码
【发布时间】:2018-08-09 18:31:57
【问题描述】:
我需要帮助来编写一个 python 程序来完成这个任务。
我正在尝试将通配符掩码转换为网络掩码。
输入:
192.168.0.1 0.0.0.15
预期输出:
192.168.0.1 255.255.255.240
【问题讨论】:
标签:
python
python-3.x
python-2.7
scripting
python-requests
【解决方案1】:
你试过什么?我认为这只是位上的异或运算符。请让我知道我是否正确。
my inputs: 192.168.0.1 0.0.0.15
expected output: 192.168.0.1 255.255.255.240
ip, wcmask = input.split()
netmask='.'.join([str(255^int(i)) for i in wcmask.split('.')])
return '{} {}'.format(ip, netmask)
【解决方案2】:
蟒蛇2
>>> import ipaddress
>>> print ipaddress.ip_network(u'192.168.0.1/0.0.0.15', strict=False).netmask
255.255.255.240
蟒蛇3
>>> import ipaddress
>>> print(ipaddress.ip_network('192.168.0.1/0.0.0.15', strict=False).netmask)
255.255.255.240