最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

以下代碼實(shí)現(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)文章

  • tensorflow 變長(zhǎng)序列存儲(chǔ)實(shí)例

    tensorflow 變長(zhǎng)序列存儲(chǔ)實(shí)例

    今天小編就為大家分享一篇tensorflow 變長(zhǎng)序列存儲(chǔ)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • python中l(wèi)ambda與def用法對(duì)比實(shí)例分析

    python中l(wèi)ambda與def用法對(duì)比實(shí)例分析

    這篇文章主要介紹了python中l(wèi)ambda與def用法對(duì)比,實(shí)例分析了lambda與def的區(qū)別與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Atom的python插件和常用插件說(shuō)明

    Atom的python插件和常用插件說(shuō)明

    這篇文章給大家分享了Atom的python插件和常用插件,有需要的朋友們可以學(xué)習(xí)參考下。
    2018-07-07
  • Python基礎(chǔ)之面向?qū)ο筮M(jìn)階詳解

    Python基礎(chǔ)之面向?qū)ο筮M(jìn)階詳解

    這篇文章主要為大家詳細(xì)介紹了Python基礎(chǔ)之面向?qū)ο筮M(jìn)階,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Python自動(dòng)化辦公之文件整理腳本分享

    Python自動(dòng)化辦公之文件整理腳本分享

    這篇文章主要為大家分享了一個(gè)Python自動(dòng)化辦公腳本,可以實(shí)現(xiàn)文件整理,這是一個(gè)很有用的技能,可以幫助你管理你的電腦上的各種文件,需要的可以收藏一下
    2023-08-08
  • Python Tornado批量上傳圖片并顯示功能

    Python Tornado批量上傳圖片并顯示功能

    Tornado龍卷風(fēng)是一個(gè)開源的網(wǎng)絡(luò)服務(wù)器框架,它是基于社交聚合網(wǎng)站FriendFeed的實(shí)時(shí)信息服務(wù)開發(fā)而來(lái)的。這篇文章主要介紹了Python Tornado批量上傳圖片并顯示,需要的朋友可以參考下
    2020-03-03
  • python+selenium識(shí)別驗(yàn)證碼并登錄的示例代碼

    python+selenium識(shí)別驗(yàn)證碼并登錄的示例代碼

    本篇文章主要介紹了python+selenium識(shí)別驗(yàn)證碼并登錄的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Python如何在for循環(huán)中同時(shí)使用兩個(gè)變量與兩個(gè)控制條件

    Python如何在for循環(huán)中同時(shí)使用兩個(gè)變量與兩個(gè)控制條件

    Python是一種廣泛使用的編程語(yǔ)言,其提供了許多強(qiáng)大的方法來(lái)處理代碼,Python?for循環(huán)是其中一種非常有用的方法,下面這篇文章主要給大家介紹了關(guān)于Python如何在for循環(huán)中同時(shí)使用兩個(gè)變量與兩個(gè)控制條件的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • 20行python代碼實(shí)現(xiàn)人臉識(shí)別

    20行python代碼實(shí)現(xiàn)人臉識(shí)別

    這篇文章主要介紹了python人臉識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python簡(jiǎn)單實(shí)現(xiàn)自動(dòng)刪除目錄下空文件夾的方法

    Python簡(jiǎn)單實(shí)現(xiàn)自動(dòng)刪除目錄下空文件夾的方法

    這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)自動(dòng)刪除目錄下空文件夾的方法,涉及Python針對(duì)文件與目錄的讀取、判斷、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08

最新評(píng)論

团风县| 咸宁市| 乌什县| 安龙县| 仲巴县| 张家界市| 故城县| 兰坪| 来安县| 永善县| 鄂托克旗| 独山县| 石景山区| 辰溪县| 玛纳斯县| 高阳县| 阜南县| 论坛| 仁化县| 万全县| 定远县| 双城市| 营口市| 阳泉市| 措勤县| 巫山县| 大悟县| 婺源县| 蓬莱市| 确山县| 甘南县| 崇仁县| 姜堰市| 车险| 新乡市| 崇仁县| 临潭县| 高唐县| 汪清县| 鹤峰县| 鹤山市|