对文件中的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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章