gpt4 book ai didi

python增量ip地址

转载 作者:太空狗 更新时间:2023-10-29 19:33:23 25 4
gpt4 key购买 nike

我想将一个 ip 地址递增一个固定值。

这正是我想要实现的目标,我有一个 IP 地址,192.168.0.3,我想将它递增 1,这将导致 192.168.0.4 或什至是一个固定值,x 以便它会将我的 ip 地址增加该数字。所以,我可以拥有像 192.168.0.3+x 这样的主机。

我只想知道此转换是否已经存在任何模块。

我尝试了 socket.inet_aton,然后是 socket.inet_ntoa,但我不知道如何让它正常工作。需要一些帮助或建议。

最佳答案

在 Python 3 中:

>>> import ipaddress
>>> ipaddress.ip_address('192.168.0.4') # accept both IPv4 and IPv6 addresses
IPv4Address('192.168.0.4')
>>> int(_)
3232235524

>>> ipaddress.ip_address('192.168.0.4') + 256
IPv4Address('192.168.1.4')

反之:

>>> ipaddress.ip_address(3232235524)
IPv4Address('192.168.0.4')
>>> str(_)
'192.168.0.4'

>>> ipaddress.ip_address('192.168.0.4') -1
IPv4Address('192.168.0.3')

python 2/3

您可以使用 struct 模块来解压 inet_aton() 的结果,例如,

import struct, socket

# x.x.x.x string -> integer
ip2int = lambda ipstr: struct.unpack('!I', socket.inet_aton(ipstr))[0]
print(ip2int("192.168.0.4"))
# -> 3232235524

反之:

int2ip = lambda n: socket.inet_ntoa(struct.pack('!I', n))
print(int2ip(3232235525))
# -> 192.168.0.5

关于python增量ip地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9539006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com