對文件中的ip取C段並去重寫入文件

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




發佈了32 篇原創文章 · 獲贊 43 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章