slow-starter

なにをやるにもslow start……。

python_012

私の場合、pythonを仕事で使うとしたら、確実にネットワーク系。
ということでipaddress モジュールについて、ちょっとだけ調べてみた。

ipaddress モジュール

import ipaddress
# まずは必要なモジュールをインポート

ipアドレスの判定( OK、NG )

# ipv4アドレスを判定(OKの場合)
a = ipaddress.ip_address('192.0.2.1')
print(a)
# 192.0.2.1
print(type(a))
# <class 'ipaddress.IPv4Address'>
# ipv4アドレスか否かを判定(NGの場合、エラーになる…。)
try:
    aa = ipaddress.ip_address('192.0.2.256')
except ValueError:
    print("ValueError")
finally:
    pass
# ValueError
# ipv6アドレスも判定可能
c = ipaddress.ip_address('2001:DB8::1')
print(c)
# 2001:DB8::1
print(type(c))
# <class 'ipaddress.IPv6Address'>

数字をipアドレスとして判定させる

# 数字を入れれば、アドレスとして解釈してくれる。
b = ipaddress.ip_address(1)
print(b)
# 0.0.0.1
print(type(b))
# <class 'ipaddress.IPv4Address'>
# 数字を入れれば、アドレスとして解釈してくれる。(ipv6を強制)
b = ipaddress.IPv6Address(1)
print(b)
# ::1
print(type(b))
# <class 'ipaddress.IPv6Address'>