實現功能:對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")