python整数与IP地址转换 [转]
将一个整数如2000000,变为一个IP地址的方式
>>> import socket
>>> import struct
>>> int_ip = 123456789
>>> ip = socket.inet_ntoa(struct.pack('I',socket.htonl(int_ip))) #int to ip address
'7.91.205.21'
>>> socket.ntohl(struct.unpack("I",socket.inet_aton(str(ip)))[0]) #ip address to int
123456789L
其实这是进制数的转换,我们可以自己写代码
>>> def ch1(num):
s = []
for i in range(4):
s.append(str(num %256))
num /= 256
return '.'.join(s[::-1])
>>> ch1(123456789)
'7.91.205.21'
用lambda的方式,整数toIP 地址 一行代码搞定
>>> ch2 = lambda x: '.'.join([str(x/(256**i)%256) for i in range(3,-1,-1)])
>>> ch2(123456789)
'7.91.205.21'
用lambda的方式,IP地址转换到整数
>>> ch3 = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1])])
>>> ch3('7.91.205.21')
123456789
python整数与IP地址转换 [转]的更多相关文章
- python整数与IP地址转换
python整数与IP地址转换 [转] 我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式 >>> import ...
- 算法:整数与ip地址转换
直接上代码(不要直接拷贝,中间少了一行啊): #include <string> #include <iostream> using namespace std; ...
- 整数与IP地址间的转换
描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数.举例:一个ip地址为10.0.3.193每段数字 ...
- ip地址转换
通常,我们用点分十进制字符串表示ipv4地址(192.168.1.1),用十六进制字符串表示ipv6地址(fe80::20c:29ff:fee9:4bcc). ipv4转换函数 #include &l ...
- 华为上机:IP地址转换
IP地址转换 描述: IP地址的长度为32,即有2^32-1个地址.IP地址一般采用点分十进制表示法,例如"192.168.1.1".IP地址也可以直接用一个32位的整数进行表示. ...
- 套接字编程相关函数(1:套接字地址结构、字节序转换、IP地址转换)
1. 套接字地址结构 1.1 IPv4套接字地址结构 IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在<netinet/in.h>头文件中.下 ...
- 【网络编程一】主机字节序与网络字节序以及ip地址转换函数
在计算机设计之初,对内存中数据的处理也有不同的方式,(低位数据存储在低位地址处或者高位数据存储在低位地址处),然而,在通信的过程中(ISO/OSI模型和TCP/IP四层模型中),数据被一步步封装(然后 ...
- [转]字符型IP地址转换成数字IP的SQL函数
使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助. /**//*--调用示例 sele ...
- IP地址转换成Long型数字的算法
在应用程序开发中,涉及到IP地址的存储,大部分开发人员都将其存为String(或文本类型).能否将固定格式为m.n.x.y的IP地址转换成 Long型的数字呢?答案是肯定的.在数据库层面,可以直接将结 ...
随机推荐
- 用systemtap来做系统性能分析和事件分析
http://zhengheng.me/2015/02/11/systemtap-analy/
- PR物料KFF弹出LOV - WHERE条件重写
PROCEDURE event (event_name VARCHAR2)IS---- This procedure allows you to execute your code at specif ...
- php-cpp用来开发php的拓展
官网: http://www.php-cpp.com/documentation/install, 找时间要学一下.
- JavaScript - 正则表达式解惑
正则表达式手册: http://tool.oschina.net/uploads/apidocs/jquery/regexp.html 正则表达式测试地址: http://tool.chinaz.co ...
- POJ3067:Japan(线段树)
Description Japan plans to welcome the ACM ICPC World Finals and a lot of roads must be built for th ...
- Missing 'name' key attribute on element activity at AndroidMan
<uses-permission android:content="android.permission.CHANGE_WIFI_STATE" /> 这是android ...
- Effective C++ 条款17 以独立语句将newed对象置入智能指针
对于函数: int priority(); void processWidget(std::tr1:: shared_ptr<Widget> pw,int priority); 调用 ...
- CSS属性中Display与Visibility的不同
大多数人很容易将CSS属性display和visibility混淆,它们看似没有什么不同,其实它们的差别却是很大的.visibility属性用来确定元素是显示还是隐藏,这用visibility=&qu ...
- GIF Movie Gear逆向实战+注册代码+补丁
GIF Movie Gear逆向实战+注册代码+补丁 准备 我是在windows 8.1 x64上进行的操作.有不足之处,还望大虾指出. 获取资源 网站下载:http://www.gamani.com ...
- 程序员笔记|Spring IoC、面向切面编程、事务管理等Spring基本概念详解
一.Spring IoC 1.1 重要概念 1)控制反转(Inversion of control) 控制反转是一种通过描述(在java中通过xml或者注解)并通过第三方去产生或获取特定对象的方式. ...