前言
大家應該都有所體會,對于字符串型的IP存入數據庫中,實在是個即浪費空間又浪費性能的家伙,所以可愛的人們想出來將IP轉換為整型存儲。MySQL中存在INET_ATON()
、INET_NTOA()
函數進行IP整型和字符串之間的轉換,那么Python中存在什么方法可以實現MySQL中INET_ATON()
、INET_NTOA()
的功能呢?方法肯定是有的~
方法如下
# 導入相關模塊包import socketimport 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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林站長站的支持。
新聞熱點
疑難解答