一般的なIPv4アドレスと数値IPv4アドレスの相互変換(python版)
1.概要
前回、shellを利用してIPアドレスを変換する処理を記述しました。しかし、国レベルに配布されているIPアドレスセグメントを変換するにはshellでは処理に時間を必要とします。
そこで、bash shellで記述した処理をpython3で書き直しました。本ブログのIP address convert using shellを参照してください。大量に変換処理をすると、bash shellよりもpython3の方が非常に高速です。今回は、この内容を記述します。
2.詳細
(1) 作成したapp(ipconvert.py)
def ip2dec(ip):
ip = ip.split(".")
result = 0
for i in range(0,4):
result = int(ip[i]) * 256 ** (3 - i) + result
return result
def dec2ip(dec):
result = ""
for i in range(0,4):
item = dec // 256 ** (3 - i)
result = result + str(item)
if i != 3:
result = result + "."
dec = dec - item * 256 ** (3 - i)
return result
if __name__ == "__main__":
print(ip2dec("192.168.10.1"))
print(dec2ip(3232238081))
(2) 実行方法
python3 ipconvert.py
3232238081
192.168.10.1
コメント
コメントを投稿