gpt4 book ai didi

python - 从python中的文本输出扩展的ip列表

转载 作者:行者123 更新时间:2023-11-28 16:38:47 24 4
gpt4 key购买 nike

我有包含 IP 和子网数据的文本。我需要输出给定范围内的每个IP。输入看起来像这样:

10.14.21.23 0.0.0.0  
20.54.0.0 0.0.127.255
30.76.21.0 0.0.0.255
40.24.21.135 0.0.0.0

并且输出需要如下所示:

10.14.21.23  
20.54.0.1
20.54.0.2
20.54.0.3
20.54.0.4
...
20.54.127.254
30.76.21.1
30.76.21.2
30.76.21.3
30.76.21.4
...
30.76.21.254
40.24.21.135

我已将 IP 隔离为:

for line in file.readlines():
if re.findall(r'\d+\.\d+\.\d+\.\d+?', line):
tuples = re.findall(r'\d+\.\d+\.\d+\.\d+', line)

这会将 IP 和子网放入元组 [0] 和元组 [1] 中。这是处理这些数据的最佳方式吗?如何计算给定范围内的每个 IP?

提前致谢。

最佳答案

你可以使用 ipcalc:

#!/usr/bin/python
import ipcalc
import sys

for data in sys.argv[1:]:
with open(data) as data:
for data in data:
data = data.split()
# Convert subnet mask to count
data[1] = ipcalc.IP(data[1]).bin().count('0')
data = ipcalc.Network(*data)
data = list(data)
if len(data) == 1:
print data[0]
else:
for data in data[1:-1]:
print data

引用:

关于python - 从python中的文本输出扩展的ip列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22302742/

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