ホームページ  >  記事  >  バックエンド開発  >  Python を使用して IP を整数と文字列の間で変換する方法

Python を使用して IP を整数と文字列の間で変換する方法

Y2J
Y2Jオリジナル
2017-05-04 11:57:281720ブラウズ

この記事では、Python を使用して IP を整数と文字列の間で簡単に変換することに関する関連情報を主に紹介します。また、文字列が IP アドレスであるかどうかを照合して確認するための Python の正規表現の使用方法についても説明します。以下の方法を参照してください。

前書き

文字列 IP をデータベースに保存するのはスペースとパフォーマンスの無駄であることは誰もが経験しているはずです。そこで、素敵な人々が IP を整数ストレージに変換するというアイデアを思いつきました。 MySQLINET_ATON() および INET_NTOA() 関数 _ATON()INET_NTOA()函数进行IP整型和字符串之间的转换,那么Python中存在什么方法可以实现MySQL中INET_ATON()INET_NTOA() は、IP 整数と文字列の間で変換します。では、MySQL で INET_ATON()INET_NTOA() 関数を実装するための Python にはどのようなメソッドがありますか?方法があるはずです~

方法は以下の通りです

# 导入相关模块包
import socket
import struct
# 将IP从字符串转为整型
>>> int(socket.inet_aton('127.0.0.1').encode('hex'),16)
2130706433
# 将IP从整型转为字符串
>>> socket.inet_ntoa(struct.pack("!I",2130706433))
'127.0.0.1'

Extended

Pythonで正規表現を使って文字列がIPアドレスかどうかを照合して検証してみます

def checkip(ip): 
 p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') 
 if p.match(ip): 
 return True 
 else: 
 return False

まとめ

以上がPython を使用して IP を整数と文字列の間で変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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