实现功能:对ip.txt中的ip取C段并去重,写入新的txt文件中
#coding=utf-8
#列表ipc用于存储对ip取前三位的C段结果
ipc=[]
with open("ip.txt","r") as f1:
for line in f1:
line=line.rstrip()
line=line.split('.')
ipc.append(line[0]+"."+line[1]+"."+line[2])
print ipc
#set()对列表ipc去重
ipc=set(ipc)
print ipc
#将列表ipc写入ipc.txt中
with open("ipc.txt","a") as f2:
for ip in ipc:
f2.write(ip+"\n")
运行结果:输入文件ip.txt,输出文件ipc.txt为对ip.txt中ip取c段并去重后的结果
在执行set(ipc)前后的print ipc结果不同,第二次是去重后的ipc段
['110.75.139', '112.25.59', '112.25.59', '110.75.129', '110.75.144', '103.52.197', '110.75.129', '103.52.199', '140.205.76', '110.75.129', '110.75.129']
['110.75.139', '112.25.59', '110.75.129', '110.75.144', '103.52.197', '103.52.199', '140.205.76']
上面使用了set()对列表做去重,比较方便,也可以使用for循环的方式
#coding=utf-8
ipc=[]
with open("ip.txt","r") as f1:
for line in f1:
line=line.rstrip()
line=line.split('.')
ipc.append(line[0]+"."+line[1]+"."+line[2])
print ipc
#对ipc段的列表ipc使用for循环的方式去重,得到ip_quchong
ip_quchong=[]
for ip in ipc:
if ip in ip_quchong:
pass
else:
ip_quchong.append(ip)
print ip_quchong
with open("ipc.txt","a") as f2:
for ip in ip_quchong:
f2.write(ip+"\n")