python Cセグメントipスクリプトの整理
1521 ワード
python IP C :
#!/usr/bin/python
# -*- coding:utf-8 -*-
import re
# def cleanCLRFspace(content):
# noCLContext = content.replace('
','')
# noSpaceCLRFcontext = noCLContext.strip()
# return noSpaceCLRFcontext
def readFile():
ipf = open('./content.txt','r')
return ipf
def getLineIP(ipf):
ipList = set()
texts = ipf.readlines()
for text in texts:
ips = re.findall(r'\d+\.\d+?\.\d+?\.\d+?',text)
for ip in ips:
ipList.add(ip)
return ipList
def ip2c(ipNoDup):
ipset = set()
for ip in ipNoDup:
ipset.add(re.findall(r'\d+?\.\d+?\.\d+?\.',ip)[0] + '0/24')
iplist = list(ipset)
iplist.sort()
return iplist
def saveContext(s):
wfile = open('./result.txt','w')
for i in s:
wfile.write(i+'
')
wfile.close()
if __name__ == '__main__':
ipf = readFile()
ipList = getLineIP(ipf)
iplist = ip2c(ipList)
saveContext(iplist)
結果:
120.198.250.170
120.198.250.171
120.198.250.172
120.198.250.173
120.198.250.174
120.198.250.145
120.198.250.146
120.198.250.147
120.198.250.148
120.198.250.149
120.198.250.150
221.179.8.181
120.197.235.30
120.197.235.32
120.197.235.27
120.197.235.28
120.197.235.31
120.197.235.22
Cセグメント:
120.197.235.0/24 120.198.250.0/24 221.179.8.0/24