首頁 > 後端開發 > Python教學 > 用Python實現IP在整數與字串間的轉換的方法

用Python實現IP在整數與字串間的轉換的方法

Y2J
發布: 2017-05-04 11:57:28
原創
1755 人瀏覽過

這篇文章主要為大家介紹了利用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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板