当前位置: 首页 > 编程笔记 >

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

谭锐藻
2023-03-14
本文向大家介绍用Python将IP地址在整型和字符串之间轻松转换,包括了用Python将IP地址在整型和字符串之间轻松转换的使用技巧和注意事项,需要的朋友参考一下

前言

大家应该都有所体会,对于字符串型的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 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 问题内容: 上面的代码用于我的servlet。其目的是获取流,从中创建一个Json文件,然后将Json发送回客户端。但是为了制作Json,我必须使用“ while”循环读取对象。但是,我想用尽可能少的代码行将其转换为字符串。我怎么做? 问题答案: 从Java 8:

  • 本文向大家介绍python IP地址转整数,包括了python IP地址转整数的使用技巧和注意事项,需要的朋友参考一下 背景 今天有人问我 “为什么数据库中有人推荐使用 int 类型来保存 IP 地址?”。现在(2020年)来看这个东西已经有点过时了,一方面是磁盘空间不在那么贵,另一方面是 IPv6 与这条法则不兼容。 下面我们就来看一下把 IPv4 地址转换成整数的原理和收益各是什么。 转换的原

  • 问题内容: 我想将字符串值(十六进制)转换为IP地址。如何使用Java做到这一点? 十六进制值: IP: 这个站点给我正确的结果,但是我不确定如何在我的代码中实现它。 可以直接在XSLT中完成吗? 问题答案: 试试这个 DatatypeConverter来自标准包

  • 问题内容: 我有一些字符串,每个字符串大约1万个字符。它们中有很多重复。它们是序列化的JSON对象。我想轻松地将它们压缩为字节数组,然后从字节数组解压缩它们。 我怎样才能最轻松地做到这一点?我正在寻找方法,因此可以执行以下操作: 问题答案: 你可以试试

  • 本文向大家介绍IP地址和MAC地址之间的区别,包括了IP地址和MAC地址之间的区别的使用技巧和注意事项,需要的朋友参考一下 MAC地址和IP地址,都用于识别网络或Internet上的计算机。MAC地址由NIC卡的制造商提供,并提供计算机的物理地址。IP地址由Internet服务提供商提供,被称为网络上连接的计算机的逻辑地址。 以下是MAC地址和IP地址之间的一些重要区别。 序号 键 MAC地址 I

  • 我想问一下,在翻译单元之间依赖字符串文字地址是否具有可移植性?即: 给定的文件引用字符串literal,依赖于其他给定文件中的将具有相同的内存地址?考虑到每个文件都将被转换为单个文件。 为了更好地说明,请遵循示例代码: 和一个gcc示例命令行: 在同一个翻译单位呢?如果字符串文字在同一个翻译单元中,这可靠吗?