用Python将IP地址在整型和字符串之间轻松转换


Posted in Python onMarch 22, 2017

前言

大家应该都有所体会,对于字符串型的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 相关文章推荐
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
对Python的Django框架中的项目进行单元测试的方法
Apr 11 Python
使用Python中的tkinter模块作图的方法
Feb 07 Python
Python3结合Dlib实现人脸识别和剪切
Jan 24 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
Python实现将通信达.day文件读取为DataFrame
Dec 22 Python
Python编程flask使用页面模版的方法
Dec 28 Python
Python基础之函数的定义与使用示例
Mar 23 Python
Python 定义只读属性的实现方式
Mar 05 Python
python实现控制台输出颜色
Mar 02 Python
用python写一个windows下的定时关机脚本(推荐)
Mar 21 #Python
利用Python实现Windows定时关机功能
Mar 21 #Python
使用Python生成XML的方法实例
Mar 21 #Python
Python存取XML的常见方法实例分析
Mar 21 #Python
Python正则简单实例分析
Mar 21 #Python
Python处理XML格式数据的方法详解
Mar 21 #Python
Python做简单的字符串匹配详解
Mar 21 #Python
You might like
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
php备份数据库类分享
2015/04/14 PHP
php轻松实现文件上传功能
2016/03/03 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
js 获取、清空input type="file"的值示例代码
2014/02/19 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
小学生期末评语
2014/04/21 职场文书
作文批改评语大全
2014/04/23 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
学生个人评语大全
2015/01/04 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书
MySQL基础(一)
2021/04/05 MySQL
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python
js 数组 fill() 填充方法
2021/11/02 Javascript