这里有新鲜出炉的 Python 入门,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
这篇文章主要给大家介绍了利用 Python 将 IP 在整型和字符串之间轻松转换的相关资料,文中还跟大家分享了 Python 下利用正则表达式来匹配校验一个字符串是否为 ip 地址的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
前言
大家应该都有所体会,对于字符串型的 IP 存入数据库中,实在是个即浪费空间又浪费性能的家伙,所以可爱的人们想出来将 IP 转换为整型存储。MySQL 中存在 INET
、
- _ATON()
函数进行 IP 整型和字符串之间的转换,那么 Python 中存在什么方法可以实现 MySQL 中
- INET_NTOA()
、
- 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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对 PHPERZ 的支持。
来源: http://www.phperz.com/article/17/0510/332850.html