delete main_2.py

This commit is contained in:
unclemcz 2024-08-03 09:42:35 +08:00
parent 28704de846
commit d5dd417c14
1 changed files with 0 additions and 49 deletions

View File

@ -1,49 +0,0 @@
import ipaddress
import sys
def cidr_to_range(cidr):
network = ipaddress.ip_network(cidr)
return (network.network_address, network.broadcast_address)
def range_to_cidr(start, end):
return [str(cidr) for cidr in ipaddress.summarize_address_range(start, end)]
def merge_cidrs(cidrs):
ranges = sorted(cidr_to_range(cidr) for cidr in cidrs)
merged = []
for start, end in ranges:
if not merged or start > merged[-1][1] + 1:
merged.append([start, end])
else:
merged[-1][1] = max(merged[-1][1], end)
result = []
for start, end in merged:
result.extend(range_to_cidr(start, end))
return result
def main():
print("请输入IP段列表每行一个CIDR格式的IP段:")
print("输入完成后请按Ctrl+D (Unix/Linux/Mac) 或 Ctrl+Z 然后按Enter (Windows) 来结束输入")
input_cidrs = []
for line in sys.stdin:
cidr = line.strip()
try:
ipaddress.ip_network(cidr)
input_cidrs.append(cidr)
except ValueError:
print(f"无效的CIDR格式: {cidr},已忽略", file=sys.stderr)
if not input_cidrs:
print("未输入有效的IP段", file=sys.stderr)
return
merged_cidrs = merge_cidrs(input_cidrs)
print("\n合并后的IP段:")
for cidr in merged_cidrs:
print(cidr)
if __name__ == "__main__":
main()