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

使用Python腳本生成隨機(jī)IP的簡單方法

 更新時(shí)間:2015年07月30日 12:07:52   作者:luqiuwen  
這篇文章主要介紹了使用Python腳本生成隨機(jī)IP的簡單方法,并且可以自己設(shè)定IP數(shù)值范圍,需要的朋友可以參考下


需求

在某應(yīng)用中,需要根據(jù)一定的規(guī)則生成隨機(jī)的IP地址,規(guī)則類似于192.168.11.0/24這樣的CIDR形式給出。
實(shí)現(xiàn)

經(jīng)過艱苦卓絕的調(diào)試,下面的代碼是可以用的:

RANDOM_IP_POOL=['192.168.10.222/0']
def __get_random_ip():
  str_ip = RANDOM_IP_POOL[random.randint(0,len(RANDOM_IP_POOL) - 1)]
  str_ip_addr = str_ip.split('/')[0]
  str_ip_mask = str_ip.split('/')[1]
  ip_addr = struct.unpack('>I',socket.inet_aton(str_ip_addr))[0]
  mask = 0x0
  for i in range(31, 31 - int(str_ip_mask), -1):
    mask = mask | ( 1 << i)
  ip_addr_min = ip_addr & (mask & 0xffffffff)
  ip_addr_max = ip_addr | (~mask & 0xffffffff)
  return socket.inet_ntoa(struct.pack('>I', random.randint(ip_addr_min, ip_addr_max)))

生成的結(jié)果如:

 192.168.10.175  192.168.10.29  
 192.168.10.30  192.168.10.207 
 192.168.10.248  192.168.10.145 
 192.168.10.168  192.168.10.223 
 192.168.10.66  192.168.10.138 
 192.168.10.99  192.168.10.136 
 192.168.10.147  192.168.10.244 
 192.168.10.73  192.168.10.180 

備注

(mask & 0xffffffff)這一用法,目的在于消除mask上32位以上的高位數(shù)據(jù)。由于mask是IPv4的掩碼,所以不需要32位以上的數(shù)據(jù)。這一問題在mask取反之后比較明顯。由于mask是一個(gè)32位以上的數(shù)(有可能是64位),取反之后,高位全部為1,計(jì)算的結(jié)果就不正確了。因此,在使用之前,需要利用(mask & 0xffffffff)清除高位。

供各位讀者參考。

相關(guān)文章

  • 分位數(shù)回歸模型quantile regeression應(yīng)用詳解及示例教程

    分位數(shù)回歸模型quantile regeression應(yīng)用詳解及示例教程

    這篇文章主要為大家介紹了介紹了分位數(shù)回歸quantile regeression的概念詳解及代碼示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Python開發(fā)如何在ubuntu 15.10 上配置vim

    Python開發(fā)如何在ubuntu 15.10 上配置vim

    這篇文章主要介紹了Python開發(fā)如何在ubuntu 15.10 上配置vim 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Python 實(shí)現(xiàn)數(shù)組相減示例

    Python 實(shí)現(xiàn)數(shù)組相減示例

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)數(shù)組相減示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python縮進(jìn)和冒號詳解

    Python縮進(jìn)和冒號詳解

    下面小編就為大家?guī)硪黄狿ython縮進(jìn)和冒號詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • Python算法應(yīng)用實(shí)戰(zhàn)之棧詳解

    Python算法應(yīng)用實(shí)戰(zhàn)之棧詳解

    棧是什么,你可以理解為一種先入后出的數(shù)據(jù)結(jié)構(gòu)(First In Last Out),一種操作受限的線性表。下面這篇文章主要給大家介紹了Python中棧的應(yīng)用實(shí)戰(zhàn),文中給出了多個(gè)實(shí)例,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • pandas.loc 選取指定列進(jìn)行操作的實(shí)例

    pandas.loc 選取指定列進(jìn)行操作的實(shí)例

    今天小編就為大家分享一篇pandas.loc 選取指定列進(jìn)行操作的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 解決Keras 自定義層時(shí)遇到版本的問題

    解決Keras 自定義層時(shí)遇到版本的問題

    這篇文章主要介紹了解決Keras 自定義層時(shí)遇到版本的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python全棧之面向?qū)ο蠡A(chǔ)

    Python全棧之面向?qū)ο蠡A(chǔ)

    這篇文章主要為大家介紹了Python面向?qū)ο蠡A(chǔ),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Python獲取秒級時(shí)間戳與毫秒級時(shí)間戳的示例代碼

    Python獲取秒級時(shí)間戳與毫秒級時(shí)間戳的示例代碼

    這篇文章主要介紹了Python獲取秒級時(shí)間戳與毫秒級時(shí)間戳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Selenium(Python web測試工具)基本用法詳解

    Selenium(Python web測試工具)基本用法詳解

    這篇文章主要介紹了Selenium(Python web測試工具)基本用法,結(jié)合實(shí)例形式分析了Selenium的基本安裝、簡單使用方法及相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08

最新評論

库车县| 桦甸市| 平安县| 屯留县| 定日县| 永泰县| 萨嘎县| 吕梁市| 新密市| 台湾省| 霍林郭勒市| 平陆县| 二连浩特市| 孟连| 来安县| 普兰县| 磴口县| 义乌市| 阳谷县| 松潘县| 军事| 朝阳县| 鄂托克旗| 新民市| 酉阳| 理塘县| 洛扎县| 叙永县| 确山县| 桑植县| 姜堰市| 杭锦后旗| 汽车| 城口县| 陈巴尔虎旗| 龙里县| 湖南省| 宁都县| 连山| 海安县| 玉溪市|