如何在Python中将IP地址除首段外按位数替换为对应数量的x?
Python实现IP地址分段替换为对应长度的x字符
核心思路
将IP地址按.分割为四个分段,对每个分段生成与原分段长度相同的x字符,最后把处理后的分段重新用.拼接即可。
代码实现
单个IP处理函数
def mask_ip(ip): # 拆分IP为四个分段 segments = ip.split('.') # 为每个分段生成对应长度的x字符串 masked_segments = ['x' * len(segment) for segment in segments] # 拼接成目标格式 return '.'.join(masked_segments)
批量处理IP列表
# 待处理的IP列表 ip_list = [ '162.1.10.15', '160.15.20.222', '145.155.222.1' ] # 遍历处理并输出结果 for ip in ip_list: print(mask_ip(ip))
执行后输出结果:
162.x.xx.xx 160.xx.xx.xxx 145.xxx.xxx.x
从文本文件读取并处理
如果IP地址保存在文本文件(如ips.txt)中,每行一个IP,可使用以下代码批量处理:
def mask_ip(ip): segments = ip.split('.') return '.'.join(['x' * len(seg) for seg in segments]) with open('ips.txt', 'r', encoding='utf-8') as file: for line in file: ip_addr = line.strip() if ip_addr: # 跳过空行 print(mask_ip(ip_addr))
内容的提问来源于stack exchange,提问作者Padfoot123
相关产品推荐
相关产品推荐

