以下代码实现了ip查询功能
处理程序
复制代码 代码如下:
import os,time
def getip(filepath):
ip2city={}
file=open(filepath,'r')
lines=file.readlines()
file.close()
for line in lines:
ip=line.split(' ')[0]
city=line.split(' ')[1]
haship=hashm(ip)
if haship in ip2city:
pass
else:
ip2city[haship]=city
print('Hash done!')
return ip2city
def hashm(ip):
iplist=ip.split('.')
ip=int(iplist[0])*4+int(iplist[1])*2+int(iplist[2])
return ip
def getcityfromip(filepath,ipandcity):
outputstr=[]
for file in os.listdir(filepath):
file_handler=open(filepath+'\\'+file,'r')
line=file_handler.readline()
while line:
ip=hashm(line.rstrip())
if ip in ipandcity:
outputstr.append(line.rstrip()+' '+ipandcity[ip])
line=file_handler.readline()
file_handler.close()
outfile_handler=open(filepath+'\\'+file.split('.')[0]+'_out.txt','a+')
outfile_handler.writelines(outputstr)
outfile_handler.close()
print(file.split('.')[0]+'_out.txt'+'done!')
def splitfile(filepath):
file=open(filepath,'r')
block_size=8000000
filecount=1
temp=[]
count=0
line=file.readline()
while line or temp:
if count==block_size:
wfile=open('D:\\ipfile\\file_'+str(filecount)+'.txt','a+')
wfile.writelines(temp)
temp=[]
count=0
wfile.close()
filecount+=1
print('Split'+str(filecount)+' done!')
else:
count+=1
temp.append(line)
line=file.readline()
file.close()
return os.path.join('D:\\'+'ipfile')
if __name__ == '__main__':
start=time.clock()
filepath='D:\\ip.txt'
ippath='D:\\citys.txt'
ip2city=getip(ippath)
splitfilepath=splitfile(filepath)
getcityfromip('D:\\'+'ipfile',ip2city)
end=time.clock()
print(end-start)
生成IP
复制代码 代码如下:
#Generate 100 millon ip
import random
import time
def generateIpAdd(file,num):
ip=[]
file=open(file,'a+')
for i in range(num):
ipAdd='192.168.'+str(random.randint(0,255))+'.'+str(random.randint(0,255))
ip.append(ipAdd+'\n')
file.writelines(ip)
file.close()
if __name__=='__main__':
start=time.clock()
for i in range(10000):
generateIpAdd('D:\ip.txt',10000)
end=time.clock()
print(end-start)
ip查询
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- ABC唱片-鲍比达·新民乐《满江红》[APE+CUE]
- 许嵩.2014-不如吃茶去【海蝶】【WAV+CUE】
- 周笔畅.2024-HAVE.A.GOOD.NIGHT【SN.Music】【FLAC分轨】
- 周笔畅.2024-HAVE.A.NICE.DAY【SN.Music】【FLAC分轨】
- 证声音乐图书馆《真夏派对 x 迪斯可》[FLAC/分轨][380.78MB]
- 证声音乐图书馆《星空下 爵士钢琴》[320K/MP3][65.88MB]
- 证声音乐图书馆《星空下 爵士钢琴》[FLAC/分轨][283.95MB]
- 沙门怀一《竹山听雨HQ》头版限量[低速原抓WAV+CUE]
- 沙门怀一《于喁·壹HQ》头版限量编号[低速原抓WAV+CUE]
- 群星《魅音绝唱》黑胶CD【WAV】
- 腾格尔.2002-四十独白【风潮】【WAV+CUE】
- 陈明真.1992-到哪里找那么好的人【华星】【WAV+CUE】
- 黄凯芹.2012-廿五年3CD【环球】【WAV+CUE】
- 证声音乐图书馆《七夕 爵士情缘》[320K/MP3][64.8MB]
- 证声音乐图书馆《七夕 爵士情缘》[FLAC/分轨][327.79MB]