python 利用位移法将ip转为number以及将number转为ip

简介:

使用位移法将ip转为number型以及将number型转为ip,使用语言为python2.7

#!/usr/bin/env python

# coding:utf-8

def ip2num(ip):

ip = [int(x) for x in ip.split(‘.‘)]

return ip[0] << 24 | ip[1] << 16 | ip[2] << 8 | ip[3]

print ip2num(‘10.101.101.13‘) #174417165

def num2ip(num):

return ‘%s.%s.%s.%s‘%((num & 0xff000000) >> 24,(num & 0x00ff0000) >> 16, (num & 0x0000ff00) >> 8, num & 0x000000ff)

print str(num2ip(174417165)) #10.101.101.13

有关位移算法可参考 :http://www.cnblogs.com/yyangblog/archive/2011/01/14/1935656.html

时间: 2024-10-25 22:09:50

python 利用位移法将ip转为number以及将number转为ip的相关文章

python 利用淘宝IP库 查询IP归属地

#coding:utf-8 from django.test import TestCase import json import urllib ip = "114.114.114.114" url = "http://ip.taobao.com/service/getIpInfo.php?ip="+ ip #返回数据 jsondata = json.loads(urllib.urlopen(url).read()) print jsondata #省份 regio

(转)闪电效果的实现,中点位移法

这部短片使用了中点位移法来模拟闪电. 中点位移法通常是用于生成分形地形的算法,你会发现闪电的形状类似于一个理想化的山脉的边缘. 下面节选的这段闪电递归程序可以帮你完成所有的工作. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function drawLightning(x1,y1,x2,y2,displace) {   if (displace < curDetail) {     graf.moveTo(x1,y1);     graf.lineTo(x2,y2);

拉丁矩阵问题 利用回溯法的C++实现方案

这两天正好在赶算法设计的作业,这里把做的几个需要写代码的题放上来,方便以后查看. 1.题目要求 2.算法思想 这个题目基本思想是 利用回溯法,对于 m 行 n 列, 本质上就是一个二维数组, 我们可以将问题的解写成 x[1],x[2],x[3] - x[m*n], 那么对于每个点 x[i] 的取值实际上是 [1, n], 套用回溯法的算法框架,这里的 约束条件 ,就是同行,同列 没有相同的取值, 并且这里没有优化目标,只要类似 N后问题找出所有解就可以了. 另外,回溯时候的边界条件,需要特别注意

利用回溯法求解背包问题

最近看完了利用回溯法求八皇后问题,最后成功求解到92种解法,然后在看利用贪心求解背包问题,突然想到其实也可以利用回溯法求解背包问题,本质上回溯法是一个穷举的方式在求. 回溯法求解出的结果肯定是正确的,这也可以验证自己所写的贪心算法的正确性. 问题描诉: 设定Wmax为最大重量,W[](0~n-1)为编号0~n-1的货物重量,V[](0~n-1)为其价值,x[]为其中解, 在wn=ΣXi*Wi<Wmax的条件下,求Vmax=ΣXi*Vi. 代码如下: //全局变量最大价值int maxvalue=

利用IFA法进行个人目标实现

利用IFA法目标实现(一) 一.背景 1)主要原因:一直以来,我觉得计划对于实现目标非常重要.但是从2010年至今,我的各种各样计划几乎都全部流产,以至于我丧失了对于制定计划的兴趣.当然,抛弃制定计划之后,我仍然没有能够完成我的目标.翻看往年计划本,2013年2月份的时候,我的计划中就提到了问题的根源可能在于在于制定计划的方法上,但是没有加以重视. 2)催化剂:今年两次考GRE以及一次托福考试,匆匆忙忙的抢考位.预定酒店.车票和机票,然后临时抱佛脚,最后结果也十分不理想.仔细分析,解决问题的方法

python利用企业微信api来进行发送自定义报警的类实现

python利用企业微信api来进行发送自定义报警的类实现 企业微信注册 打开http://work.weixin.qq.com/企业微信主页: 点击企业注册: 填写相关信息,营业执照和注册号可以不用填,直接下一步,按照提示操作即可: 注册完成后,登陆,就显示如下界面: 点击我的企业标签: 看到如上界面,复制CorpID对应的值: 点击企业应用: 点击 创建应用: 填写对应内容,点击创建应用即可: 然后再点击企业应用,就可以在自建应用里看到自己创建的应用: 点击应用图标,看到如下图 复制Agen

利用nginx反向代理,后端Web如何获取真实客户ip

利用nginx反向代理,后端Web如何获取真实客户端ip 一.nginx反向代理nginx,后端的nginx该如何配置才能获取到客户端的真实IP地址呢. 1.首先需要在nginx代理服务器上的配置文件nginx.conf上的 location 中添加一行参数: proxy_set_header  X-Real-IP  $remote_addr; 重启nginx服务 2.对后面的nginx进行配置 vim /usr/local/nginx/conf/nginx.conf 加入下面参数: set_r

【php】利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地

本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地>(点击打开链接)为姊妹篇,只是后端编程语言换成了php. 做出同样的效果,打开页面,得到客户端的ip,并获取利用新浪api接口获取此ip的归属地. 可以看到,在IE6也是相当正常的. 目录结构如下,非常简单,同样就两个文件,其实如果你愿意,写成一个php文件也可以,但是显示层和逻辑业务层还是不混在一起为好吧? 唯一值得注意的是,这两个文件打死也不能一个叫ipGet.php,ipGet.html

python利用pymssql链接sqlserver数据库

1.引入pymssql包 import pymssql 2.建立连接: conn = pymssql.connect(server=conf['db_address'], port="1433",user=conf['db_username'], password=conf['db_password'], database=conf['db_name'], charset="UTF-8") cursor = conn.cursor() 3.执行SQL语句: curs