亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python實現(xiàn)ip查詢示例

 更新時間:2014年03月26日 10:15:50   作者:  
這篇文章主要介紹了python實現(xiàn)ip查詢示例,需要的朋友可以參考下

以下代碼實現(xiàn)了ip查詢功能

處理程序

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

#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)

相關(guān)文章

  • python實現(xiàn)狄克斯特拉算法

    python實現(xiàn)狄克斯特拉算法

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)狄克斯特拉算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Django的CVB實例詳解

    Django的CVB實例詳解

    在本篇文章小編給大家整理的是關(guān)于Django的CVB實例詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2020-02-02
  • MAC下Anaconda+Pyspark安裝配置詳細(xì)步驟

    MAC下Anaconda+Pyspark安裝配置詳細(xì)步驟

    一般MAC上使用的是zsh的shell工具,需要修改zshrc文件來使環(huán)境變量永久生效(若不修改該文件,在命令行中輸入相應(yīng)的命令即可,本文給大家介紹MAC下Anaconda+Pyspark安裝配置詳細(xì)步驟,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • Python對口紅進(jìn)行數(shù)據(jù)分析來選定情人節(jié)禮物

    Python對口紅進(jìn)行數(shù)據(jù)分析來選定情人節(jié)禮物

    情人節(jié)送小仙女什么禮物?讓我們來用Python對口紅進(jìn)行數(shù)據(jù)分析,那個女孩子會拒絕這樣精心挑選的禮物,感興趣的小伙伴快來看看吧
    2022-02-02
  • 詳解Python的三種可變參數(shù)

    詳解Python的三種可變參數(shù)

    這篇文章主要介紹了Python的三種可變參數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python3連接MySQL數(shù)據(jù)庫實例詳解

    python3連接MySQL數(shù)據(jù)庫實例詳解

    這篇文章主要為大家詳細(xì)介紹了python3連接MySQL數(shù)據(jù)庫實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python?tkinter庫繪圖實例分享

    Python?tkinter庫繪圖實例分享

    這篇文章主要給大家分享了Python?tkinter庫繪圖實例,主要分享實例有小房子繪制、彩色氣泡動畫繪制內(nèi)容,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-04-04
  • python 中if else 語句的作用及示例代碼

    python 中if else 語句的作用及示例代碼

    python中的if-else語句是一個判斷性語句,既然是判斷就要有條件以及滿足條件與不滿足的情況,一下將講解一些if-else語句的知識,需要的朋友參考下吧
    2018-03-03
  • Python繪制百分比堆疊柱狀圖并填充圖案

    Python繪制百分比堆疊柱狀圖并填充圖案

    這篇文章主要為大家詳細(xì)介紹了Python繪制百分比堆疊柱狀圖并填充圖案,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python常用模塊os.path之文件及路徑操作方法

    Python常用模塊os.path之文件及路徑操作方法

    os.path 模塊主要用于獲取文件的屬性。這篇文章主要介紹了Python常用模塊os.path——文件及路徑操作,需要的朋友可以參考下
    2019-12-12

最新評論