Python程序将通配符掩码转换为网络掩码

时间:2018-08-09 18:31:57

标签: python python-3.x python-2.7 scripting python-requests

我需要编写python程序来完成此任务的帮助。 我正在尝试将通配符掩码转换为网络掩码。

输入: 192.168.0.1 0.0.0.15

预期输出: 192.168.0.1 255.255.255.240

2 个答案:

答案 0 :(得分:1)

您尝试了什么?我认为这只是xor运算符。让我知道我是否正确。

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)

答案 1 :(得分:0)

python2
>>> import ipaddress
>>> print ipaddress.ip_network(u'192.168.0.1/0.0.0.15', strict=False).netmask
255.255.255.240
python3
>>> import ipaddress
>>> print(ipaddress.ip_network('192.168.0.1/0.0.0.15', strict=False).netmask)
255.255.255.240