Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python NetAddress IP网络_Python_Python 2.7_Python 3.x_Network Programming - Fatal编程技术网

python NetAddress IP网络

python NetAddress IP网络,python,python-2.7,python-3.x,network-programming,Python,Python 2.7,Python 3.x,Network Programming,我有一个要更改的IP地址,并希望该值作为IP网络返回 所以 结果 192.168.0.2/24在没有网络掩码的情况下,目前的结果是192.168.0.2 我已经设法做了我需要做的事情如下 >>> addr = IPNetwork("10.0.0.0/24") >>> addr IPNetwork('10.0.0.0/24') >>> mask = addr.prefixlen >>> intip = IPNetwork(a

我有一个要更改的IP地址,并希望该值作为IP网络返回

所以

结果

192.168.0.2/24在没有网络掩码的情况下,目前的结果是192.168.0.2


我已经设法做了我需要做的事情如下

>>> addr = IPNetwork("10.0.0.0/24")
>>> addr
IPNetwork('10.0.0.0/24')
>>> mask = addr.prefixlen
>>> intip = IPNetwork(addr[-3])
>>> intip
IPNetwork('10.0.0.253/32')
>>>
>>> intip.prefixlen = mask
>>> intip
IPNetwork('10.0.0.253/24')
>>>

有更好的方法吗?

我真的不明白为什么要将掩码从网络添加到(主机)ip,但我想最常用的方法是格式字符串:

>>> from netaddr import IPNetwork
>>> net = IPNetwork("192.168.0.0/24")
>>> print( "{0}/{1}".format(net[2], net.prefixlen) )
192.168.0.2/24
>>> 
如果出于某种原因,您需要将结果作为IPNetwork对象(带有设置的主机位),您也可以这样做:

>>> net = IPNetwork("192.168.0.0/24")
>>> net.value += 2
>>> net
IPNetwork('192.168.0.2/24')
>>>

我认为你需要进一步阐述你的问题。很不清楚你在问什么。你想干什么?ip[2]应该做什么?
>>> net = IPNetwork("192.168.0.0/24")
>>> net.value += 2
>>> net
IPNetwork('192.168.0.2/24')
>>>