用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最基本的操作字典的方法
Apr 24 Python
Python的Django框架中forms表单类的使用方法详解
Jun 21 Python
python中如何使用朴素贝叶斯算法
Apr 06 Python
Python 对象中的数据类型
May 13 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
python pyecharts 实现一个文件绘制多张图
May 13 Python
Python使用Pygame绘制时钟
Nov 29 Python
python利用xpath爬取网上数据并存储到django模型中
Feb 26 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 Python
如何使用python包中的sched事件调度器
Apr 30 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代码
2010/07/17 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
php对二维数组进行排序的简单实例
2013/12/19 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
python中cPickle类使用方法详解
2018/08/27 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
python调用c++传递数组的实例
2019/02/13 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
生产部主管岗位职责
2014/01/06 职场文书
销售冠军获奖感言
2014/02/03 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript