用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根据出生日期返回年龄的方法
Mar 26 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
Apr 17 Python
Python3使用pandas模块读写excel操作示例
Jul 03 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
使用tqdm显示Python代码执行进度功能
Dec 08 Python
Pytorch之view及view_as使用详解
Dec 31 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
如何通过python实现人脸识别验证
Jan 17 Python
Python使用进程Process模块管理资源
Mar 05 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
如何使用Python处理HDF格式数据及可视化问题
Jun 24 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
Yii框架关联查询with用法分析
2014/12/02 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
python中cPickle用法例子分享
2014/01/03 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
在职人员函授期间自我评价分享
2013/11/08 职场文书
售后服务科岗位职责范文
2013/11/13 职场文书
打架检讨书100字
2014/01/08 职场文书
读书月活动方案
2014/05/22 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
现货白银电话营销话术
2015/05/29 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS