這篇文章主要為大家介紹了利用Python將IP在整型和字串之間輕鬆轉換的相關資料,文中也跟大家分享了Python下利用正規表示式來匹配校驗一個字串是否為ip位址的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
前言
大家應該都有所體會,對於字串型的IP存入資料庫中,實在是個即浪費空間又浪費性能的傢伙,所以可愛的人們想出來將IP轉換為整型存儲。 MySQL中存在INET_ATON()
、INET_NTOA()
函數進行IP整型和字串之間的轉換,那麼Python中存在什麼方法可以實作MySQL中INET_ATON()
、INET_NTOA()
的功能呢?方法肯定是有的~
方法如下
# 导入相关模块包 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'
#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中文網其他相關文章!