ホームページ >バックエンド開発 >Python チュートリアル >Python IPアドレス処理モジュールの詳細説明

Python IPアドレス処理モジュールの詳細説明

小云云
小云云オリジナル
2017-12-12 09:18:112496ブラウズ

この記事では主に Python の IP アドレス処理モジュールについて説明します。このモジュールは IPv4 および IPv6 アドレスを簡単に扱うことができます。以下の記事では、Python の自動運用と保守に関する関連情報を主に紹介します。サンプル コードは非常に詳細であり、学習や仕事に役立つと考えられます。必要な方は以下を参照してください。

実用的な IP アドレス処理モジュール IPy

IP アドレスの計画では、ネットワーク セグメント、ネットワーク マスク、ブロードキャスト アドレス、サブネット番号、IP タイプなどを含む、多数の IP アドレスの計算が必要になります。心配しないでください。Ipy モジュールが役に立ちます。 Ipy モジュールは、IP 計画作業を効率的に完了するのに非常に役立ちます。

機能: IP 計画作業を効率的に完了するのを支援します

インストール:

wget https://pypi.python.org/packages/source/I/IPy/IPy-0.81.tar.gz --no-check-certificate
tar -zxvf Ipy-0.81.tar.gz
cd IPy-0.81
python setup.py install

IP アドレスとネットワークセグメントの基本処理: 使用法:

りー

IPアドレス変換:

#from IPy import IP
#ip_1 = IP('192.168.1.0/24')
#print(ip_1.len()) # 输出192.168.1.0/24网段的IP个数
#for a in ip_1: 
# print(a) # 输出192.168.1.0/24网段的所有IP清单

IPネットワークセグメント変換:

#from IPy import IP 
#ip_2 = IP('192.168.1.1') 
#ip_2.reverseNames() # 反响解析地址格式
#ip_2.iptype() # 查看IP地址类型
#ip_2.int() # 将格式转换为整型格式
#ip_2.strHex() # 将格式转换为16进制格式
#ip_2.strBin() # 将格式转换为2进制格式 
#print(IP(0x8188808)) # 将16进制转化为IP格式

複数のネットワークコンピューティング方式: 機能: あるかどうかを比較します192.168.1.0/24 と 192.168.1.0/25 など、2 つのネットワーク セグメント間の包含または重複です

使用方法:

#from IPy import IP
# 输出192.168.1.0/24 
#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)) 
# 通过strNormal() 方法指定上述三种格式的输出: 
#print(IP('192.168.1.0/24').strNormal(0)) # 参数(wantprefixlen)为0,无返回,输出192.168.1.0
#print(IP('192.168.1.0/24').strNormal(1)) # 参数(wantprefixlen)为1,prefix格式,输出192.168.1.0/24 
#print(IP('192.168.1.0/24').strNormal(2)) # 参数(wantprefixlen)为2,decimalnetmask格式,输出192.168.1.0/255.255.255.0 
#print(IP('192.168.1.0/24').strNormal(3)) # 参数(wantprefixlen)为3,lastIP格式,输出192.168.1.0-192.168.1.255

によるとのinput IP アドレスまたはネットワーク セグメント アドレスは、ネットワーク アドレス、ブロードキャスト アドレス、アドレス応答分析、サブネット番号、IP タイプ、その他の情報を返します:

#from IPy import IP
#IP(&#39;192.168.0.0/24&#39;)<IP(&#39;192.168.1.0/24&#39;)
# 判断IP地址和网段是否包含于另一个网段中
#&#39;192.168.1.1&#39; in IP(&#39;192.168.1.0/24&#39;) 
# 判断两个网段是否存在重叠,使用overlaps()方法 
#IP(&#39;192.168.0.0/23&#39;).overlaps(&#39;192.168.1.0/24&#39;) # 返回1,表示重叠 
#IP(&#39;192.168.1.0/24&#39;).overlaps(&#39;192.168.2.0/24&#39;) # 返回0,表示没有重叠

関連する推奨事項:


色付きの文字列を出力するための Python 実装 Case分析

遺伝的アルゴリズムを実装するためのPythonコード

Python参照渡しの概念の詳細な例

以上がPython IPアドレス処理モジュールの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。