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

Python中IP地址處理IPy模塊的方法

 更新時間:2019年08月16日 10:05:13   作者:基礎(chǔ)到高級  
這篇文章主要介紹了Python中IP地址處理IPy模塊的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下

安裝

先下載源碼,地址:ps://pypi.python.org/pypi/IPy/">https://pypi.python.org/pypi/IPy/ ,然后解壓后使用命令python setup.py install安裝。

使用

1、顯示IP類型

>>> IP('192.168.1.1').version()
 4
 >>> IP('::1').version()
 6

類似如上所示,通過version方法可以的判斷輸入的IP是IPv4還是IPv6 。

2、網(wǎng)段計算輸出

代碼:

from IPy import IP
ip=IP('192.168.0.0/28')
print ip.len()
for x in ip:
  print x
print ip.strNormal(0)
print ip.strNormal(1)
print ip.strNormal(2)
print ip.strNormal(3)

len()方法可以計算網(wǎng)段的IP個數(shù)。

strNormal()方法指定不同wantprefixlen參數(shù)可以定制不同類型的輸出。上面輸出類似如下:

16
192.168.0.0
192.168.0.1
192.168.0.2
192.168.0.3
......
192.168.0.15
192.168.0.0
192.168.0.0/28
192.168.0.0/255.255.255.240
192.168.0.0-192.168.0.15

3、格式轉(zhuǎn)換

實例介紹幾個常用方法,包括方向解析名稱、IP類型、IP進(jìn)制轉(zhuǎn)換、網(wǎng)絡(luò)地址網(wǎng)段地址轉(zhuǎn)換。

ip=IP('192.168.0.1')
print ip.reverseNames() #反向解析地址格式
print ip.iptype() #顯示IP地址類型,私有還是公有
ip=IP('8.8.8.8')
print ip.iptype()
print ip.int() #轉(zhuǎn)換成整型格式
print ip.strHex() #轉(zhuǎn)換成十六進(jìn)制格式
print ip.strBin() #轉(zhuǎn)換成二進(jìn)制格式
#網(wǎng)絡(luò)地址、網(wǎng)段地址格式轉(zhuǎn)換
print (IP('192.168.1.0').make_net('255.255.255.0'))
print (IP('192.168.1.0/255.255.255.0',make_net=True))
print (IP('192.168.1.0-192.168.1.255',make_net=True))

4、地址比較

判斷IP地址和網(wǎng)段是否包含于另一個網(wǎng)段中,如下:

>>> '192.168.1.1' in IP('192.168.1.0/24')
True
>>> IP('192.168.1.0/24') in IP('192.168.0.0/16')
True

判斷兩個網(wǎng)段是否存在重疊,如下:

>>> IP('192.168.0.0/23').overlaps('192.168.1.0/24')
1
>>> IP('192.168.1.0/24').overlaps('192.168.2.0')
0

其中1表示存在重疊,0表示不存在重疊。

舉例

代碼:

#coding:utf-8
from IPy import IP
ip_s=raw_input("please input an IP or net-range: ")
ips=IP(ip_s)
if len(ips)>1: #網(wǎng)絡(luò)地址
  print('net: %s' % ips.net())
  print('netmask: %s' % ips.netmask())
  print('broadcast: %s' % ips.broadcast())
  print('reverse address: %s' % ips.reverseNames()[0])
  print('subnet: %s' % len(ips))
else: #單個地址
  print('reverse address: %s' % ips.reverseNames()[0])
print('hexadecimal: %s' % ips.strHex())
print('binary: %s' % ips.strBin())
print('iptype: %s' % ips.iptype())

運行結(jié)果:

C:\Users\admin\workspace\zhangnq>python IPy_test2.py
please input an IP or net-range: 192.168.1.1
reverse address: 1.1.168.192.in-addr.arpa.
hexadecimal: 0xc0a80101
binary: 11000000101010000000000100000001
iptype: PRIVATE
C:\Users\admin\workspace\zhangnq>python IPy_test2.py
please input an IP or net-range: 8.8.8.8
reverse address: 8.8.8.8.in-addr.arpa.
hexadecimal: 0x8080808
binary: 00001000000010000000100000001000
iptype: PUBLIC
C:\Users\admin\workspace\zhangnq>python IPy_test2.py
please input an IP or net-range: 192.168.1.0/28
net: 192.168.1.0
netmask: 255.255.255.240
broadcast: 192.168.1.15
reverse address: 0.1.168.192.in-addr.arpa.
subnet: 16
hexadecimal: 0xc0a80100
binary: 11000000101010000000000100000000
iptype: PRIVATE

ipy模塊用法

一個自動識別IP地址、子網(wǎng)、方向解析、IP類型等信息的腳本

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def ip():
  try:
    from IPy import IP  ###加載模塊
    ip_s = raw_input('請輸入IP地址或者網(wǎng)段地址:' )###輸入一個IP地址或者網(wǎng)段
    ips = IP(ip_s)  #定義元素
    if len(ips) > 1: #如果len出來的數(shù)字大于1,那么就是一個網(wǎng)段
      print('網(wǎng)絡(luò)地址: %s' % ips.net())
      print('子網(wǎng)掩碼: %s' % ips.netmask())
      print('網(wǎng)絡(luò)廣播地址: %s' % ips.reverseNames() [0])
      print('網(wǎng)絡(luò)子網(wǎng)數(shù): %s' % len(ips))
    else:  ###否則就是一個地址
      print('IP反向解析: %s' % ips.reverseNames() [0])
      print('十六進(jìn)制地址: %s' % ips.strHex())
      print('二進(jìn)制地址: %s' % ips.strBin())
      print('地址類型: %s' % ips.iptype())
    print time.strftime("%Y-%m-%d %H:%M:%S")
    #code
  except Exception, e:
    logging.info("error:" + str(e) + "\n" + traceback.format_exc())
    print traceback.format_exc()
  finally:
    pass

運行效果:

[root@mylinuxer python]# 192.168.1.0/24
-bash: 192.168.1.0/24: No such file or directory
[root@mylinuxer python]# python python.py
請輸入IP地址或者網(wǎng)段地址: 192.168.1.0/24
網(wǎng)絡(luò)地址: 192.168.1.0
子網(wǎng)掩碼: 255.255.255.0
網(wǎng)絡(luò)廣播地址: 1.168.192.in-addr.arpa.
網(wǎng)絡(luò)子網(wǎng)數(shù): 256
[root@mylinuxer python]# python python.py
請輸入IP地址或者網(wǎng)段地址: 192.168.1.1
IP反向解析: 1.1.168.192.in-addr.arpa.
十六進(jìn)制地址: 0xc0a80101
二進(jìn)制地址: 11000000101010000000000100000001
地址類型: PRIVATE
[root@mylinuxer python]# python python.py
請輸入IP地址或者網(wǎng)段地址: 116.213.249.211
IP反向解析: 211.249.213.116.in-addr.arpa.
十六進(jìn)制地址: 0x74d5f9d3
二進(jìn)制地址: 01110100110101011111100111010011
地址類型: PUBLIC

總結(jié)

以上所述是小編給大家介紹的Python中IP地址處理IPy模塊的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 詳解Python的Django框架中Manager方法的使用

    詳解Python的Django框架中Manager方法的使用

    這篇文章主要介紹了Python的Django框架中Manager方法的使用,包括修改初始Manager QuerySets和增加額外的Manager方法等操作,需要的朋友可以參考下
    2015-07-07
  • Python torch.flatten()函數(shù)案例詳解

    Python torch.flatten()函數(shù)案例詳解

    這篇文章主要介紹了Python torch.flatten()函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Python包中__init__.py文件的作用與用法實例詳解

    Python包中__init__.py文件的作用與用法實例詳解

    我們新建python包時常常會看到一個__init _.py文件,下面這篇文章主要給大家介紹了關(guān)于Python包中__init__.py文件的作用與用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Python使用FastParquet庫處理Parquet文件的方法

    Python使用FastParquet庫處理Parquet文件的方法

    在大數(shù)據(jù)時代,數(shù)據(jù)存儲和處理的效率至關(guān)重要,Parquet作為一種列式存儲格式,因其高效的壓縮和編碼方案,成為大數(shù)據(jù)處理中的熱門選擇,本文將深入探討FastParquet庫的使用,幫助讀者掌握如何利用這一工具高效處理Parquet文件,需要的朋友可以參考下
    2025-02-02
  • 使用Pandas實現(xiàn)高效讀取篩選csv數(shù)據(jù)

    使用Pandas實現(xiàn)高效讀取篩選csv數(shù)據(jù)

    在數(shù)據(jù)分析和數(shù)據(jù)科學(xué)領(lǐng)域中,Pandas?是?Python?中最常用的庫之一,本文將介紹如何使用?Pandas?來讀取和處理?CSV?格式的數(shù)據(jù)文件,希望對大家有所幫助
    2024-04-04
  • 為什么是 Python -m

    為什么是 Python -m

    這篇文章給大家介紹了Python -m的含義及python -m 和 python 的區(qū)別解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-06-06
  • python函數(shù)裝飾器構(gòu)造和參數(shù)傳遞

    python函數(shù)裝飾器構(gòu)造和參數(shù)傳遞

    這篇文章主要介紹了python函數(shù)裝飾器構(gòu)造和參數(shù)傳遞,下面通過一個小案例來簡單的理解什么是裝飾器,需要的小伙伴可以參考一下
    2022-03-03
  • python pandas模糊匹配 讀取Excel后 獲取指定指標(biāo)的操作

    python pandas模糊匹配 讀取Excel后 獲取指定指標(biāo)的操作

    這篇文章主要介紹了python pandas模糊匹配 讀取Excel后 獲取指定指標(biāo)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • NumPy 矩陣乘法的實現(xiàn)示例

    NumPy 矩陣乘法的實現(xiàn)示例

    這篇文章主要介紹了NumPy 矩陣乘法的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Pycharm中使用git進(jìn)行合作開發(fā)的教程詳解

    Pycharm中使用git進(jìn)行合作開發(fā)的教程詳解

    這篇文章主要介紹了Pycharm中使用git進(jìn)行合作開發(fā),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11

最新評論

社会| 东安县| 福海县| 九龙坡区| 龙游县| 布尔津县| 隆化县| 贡山| 新竹市| 娱乐| 伊宁市| 澜沧| 获嘉县| 三门峡市| 内江市| 德保县| 武隆县| 桂东县| 巧家县| 白玉县| 洪湖市| 苍南县| 永定县| 大港区| 长沙县| 论坛| 遂平县| 泽普县| 开封县| 济阳县| 阿城市| 册亨县| 辉南县| 武汉市| 西贡区| 阿荣旗| 金门县| 西峡县| 平南县| 正安县| 西盟|