Convertir la notation CIDR en Python

En Python, il semble que vous puissiez le faire en utilisant un module appelé netaddr, Je n'avais besoin que de la conversion CIDR, alors je l'ai écrit moi-même.

>>> import socket, struct
>>> def cidr2mask(len):
...     return socket.inet_ntoa(struct.pack('!L', 0xffffffff ^ ((1 << 32-len)-1)))
... 
>>> cidr2mask(8)
'255.0.0.0'
>>> cidr2mask(16)
'255.255.0.0'
>>> cidr2mask(24)
'255.255.255.0'
>>> cidr2mask(20)
'255.255.240.0'

Il semble y avoir une manière d'écrire plus élégante.

Recommended Posts

Convertir la notation CIDR en Python
Notation de classe en Python
Convertir un float exponentiel en str en Python
Notation inclusive dans l'argument de la fonction Python
Convertir Markdown en PDF en Python
Afficher les formules de notation LaTeX en Python, matplotlib
Quadtree en Python --2
Python en optimisation
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Convertir un fichier psd en png en Python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
tri rapide en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Convertir de Markdown en HTML en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
Convertir une URL absolue en URL relative en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python
Convertir le fichier FBX en ASCII <-> BINARY en Python
Convertissez des PDF en images en masse avec Python
Convertir le code de maillage cubique en WKT en Python
Liste triée en Python
AtCoder # 36 quotidien avec Python
Texte de cluster en Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python