用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模拟百度登录实例详解
Jan 20 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
python将回车作为输入内容的实例
Jun 23 Python
python turtle库画一个方格和圆实例
Jun 27 Python
Python中断多重循环的思路总结
Oct 04 Python
python通过实例讲解反射机制
Oct 17 Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
打包PyQt5应用时的注意事项
Feb 14 Python
Python之qq自动发消息的示例代码
Feb 18 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来检测proxy
2006/10/09 PHP
站长助手-网站web在线管理程序 v1.0 下载
2007/05/12 PHP
PHP教程 基本语法
2009/10/23 PHP
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
vue监听键盘事件的相关总结
2021/01/29 Vue.js
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
python用户管理系统的实例讲解
2017/12/23 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
python定时关机小脚本
2018/06/20 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
保护环境建议书100字
2014/05/13 职场文书
装配出错检讨书
2014/09/23 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
无线电通信名词解释
2022/02/18 无线电