例子:IP:192.168.1.10

方法一:

In [1]: bin(192)
Out[1]: '0b11000000'

In [2]: bin(168)
Out[2]: '0b10101000'

In [4]: bin(1)
Out[4]: '0b1'

In [5]: bin(10)
Out[5]: '0b1010'

所以192.168.1.10 转换成整数:3232235786

In [6]: 0b11000000101010000000000100001010
Out[6]: 3232235786

方法二:

In [7]: 192*256**3+168*256**2+1*256**1+10*256**0
Out[7]: 3232235786

##########实战代码####################

  1. [root@master script]# cat ip.py
  2. #!/usr/bin/python
  3. # coding:utf-8
  4.  
  5. def ip2int():
  6. ip = raw_input('请输入需要转换成数字的IP(例如:192.168.1.10): ')
  7. ip_list = ip.strip().split('.')
  8. ip_int = int(ip_list[0])*256**3+int(ip_list[1])*256**2+int(ip_list[2])*256**1+int(ip_list[3])*256**0
  9. return ip_int
  10.  
  11. #def int2ip(num):
  12. # iplist = []
  13. # for n in range(4):
  14. # num,mod = divmod(num,256)
  15. # iplist.append(str(mod))
  16. # rip = iplist[::-1]
  17. # rip_num = '.'.join(rip)
  18. # return rip_num
  19.  
  20. def int2ip():
  21. num = int(raw_input('请输入需要转换成IP的整数: '))
  22. iplist = []
  23. for n in range(4):
  24. num,mod = divmod(num,256)
  25. iplist.insert(0,str(mod))
  26. return '.'.join(iplist)
  27.  
  28. def show_menu():
  29. CMDs = {'':ip2int,'':int2ip}
  30. while True:
  31. prompt = """\033[31;1m(1)ip转换成数字\033[0m
  32. \033[32;1m(2)数字转换成IP\033[0m
  33. \033[33;1m(3)退出(q)\033[0m
  34. \033[34;1m请输入你的选择(1/2/3):\033[0m"""
  35. choice = raw_input(prompt)
  36. if choice == '':
  37. break
  38. print CMDs[choice]()
  39.  
  40. if __name__ == '__main__':
  41. show_menu()
  1. 检验:

[root@master script]# python ip.py
(1)ip转换成数字
(2)数字转换成IP
(3)退出(q)
请输入你的选择(1/2/3):1
请输入需要转换成数字的IP(例如:192.168.1.10): 86.78.98.34
1447977506
(1)ip转换成数字
(2)数字转换成IP
(3)退出(q)
请输入你的选择(1/2/3):2
请输入需要转换成IP的整数: 1447977506
86.78.98.34
(1)ip转换成数字
(2)数字转换成IP
(3)退出(q)
请输入你的选择(1/2/3):3

  1. ########终极版##########
  2. [root@master script]# cat ip.py
  3. #!/usr/bin/python
  4. # coding:utf-8
  5.  
  6. #def ip2int():
  7. # ip = raw_input('请输入需要转换成数字的IP(例如:192.168.1.10): ')
  8. # ip_list = ip.strip().split('.')
  9. # ip_int = int(ip_list[0])*256**3+int(ip_list[1])*256**2+int(ip_list[2])*256**1+int(ip_list[3])*256**0
  10. # return ip_int
  11. def ip2int():
  12. ip = raw_input('请输入需要转换成数字的IP(例如:192.168.1.10): ')
  13. ip_list = ip.strip().split('.')
  14. SUM = 0
  15. for i in range(len(ip_list)):
  16. SUM += int(ip_list[i])*256**(3-i)
  17. return SUM
  18.  
  19. #def int2ip(num):
  20. # iplist = []
  21. # for n in range(4):
  22. # num,mod = divmod(num,256)
  23. # iplist.append(str(mod))
  24. # rip = iplist[::-1]
  25. # rip_num = '.'.join(rip)
  26. # return rip_num
  27.  
  28. def int2ip():
  29. num = int(raw_input('请输入需要转换成IP的整数: '))
  30. iplist = []
  31. for n in range(4):
  32. num,mod = divmod(num,256)
  33. iplist.insert(0,str(mod))
  34. return '.'.join(iplist)
  35.  
  36. def show_menu():
  37. CMDs = {'':ip2int,'':int2ip}
  38. while True:
  39. prompt = """\033[31;1m(1)ip转换成数字\033[0m
  40. \033[32;1m(2)数字转换成IP\033[0m
  41. \033[33;1m(3)退出(q)\033[0m
  42. \033[34;1m请输入你的选择(1/2/3):\033[0m"""
  43. choice = raw_input(prompt)
  44. if choice == '':
  45. break
  46. print CMDs[choice]()
  47.  
  48. if __name__ == '__main__':
  49. show_menu()

Python ip与数字的转换方式的更多相关文章

  1. python 字符与数字如何转换

    python中字符与数字相互转换用chr()即可. python中的字符数字之间的转换函数 int(x [,base ])                               将x转换为一个整 ...

  2. PHP实现IP–数字互相转换

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. PHP IP互换数字[转]

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 在 shell 脚本获取 ip、数字转换等网络操作

    在 shell 脚本获取 ip.数字转换等网络操作 ip 和数字的相互转换 ip转换为数字 :: function ip2num() { local ip=$1 local a=$(echo $ip ...

  5. 『Python基础-5』数字,运算,转换

    『Python基础-5』数字,运算,转换 目录 基本的数字类型 二进制,八进制,十六进制 数字类型间的转换 数字运算 1. 数字类型 Python 数字数据类型用于存储数学上的值,比如整数.浮点数.复 ...

  6. Python—IP地址与整数之间的转换

    1. 将整数转换成IP: 思路:将整数转换成无符号32位的二进制,再8位进行分割,每8位转换成十进制即可. 方法一:#!usr/bin/python 2 #encoding=utf-8 3 #1. 将 ...

  7. Python 数字格式转换

    # 数字格式转换v1 '''a = input() a1 = list(a) b = ["零", "一", "二", "三&quo ...

  8. 8.python中的数字

    python中数字对象的创建如下, a = 123 b = 1.23 c = 1+1j 可以直接输入数字,然后赋值给变量. 同样也可是使用类的方式: a = int(123) b = float(1. ...

  9. Python拼接字符串的七种方式

    忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型.而拼接字符串是必备的一种技能.今 ...

随机推荐

  1. 定时任务crontab如何实现每秒执行?

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. 方法一:crontab -l内容如下,则每10秒执行一次/home/fdipzone/ph ...

  2. python(23)- 面向对象简单介绍

    面向概述 面向过程:根据业务逻辑从上到下写垒代码 面向过程的设计的核心是过程,过程即解决问题的步骤, 面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西 优点:极大降低了程序的复杂 ...

  3. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  4. HDMI各版本对比

    转:一文看懂从HDMI1.0到HDMI2.1的历代规格变化 hdmi HDMI详解 https://blog.csdn.net/xubin341719/article/details/7713450 ...

  5. 实习日记 laravel怎么删除磁盘上的文件

    Storage 里面有 delete的方法 具体使用是 Storage::disk('uploads')->delete($fileName); 其中'uploads'是filesystem里面 ...

  6. 一起talk GDB吧(第二回:GDB单步调试)

    各位看官们,大家好.我们在上一回中说简单地介绍了GDB.这一回中,我们介绍GDB的调试功能:单步 调试. 闲话休提,言归正转. 让我们一起talk GDB吧! 看官们,我们先说一下什么是单步调试.大家 ...

  7. Kubernetes调度之亲和与反亲和

    系列目录 部署pod时,大多数情况下kubernetes的调度程序能将pod调度到集群中合适的节点上.但有些情况下用户需要对pod调度到哪个节点上施加更多控制,比如将特定pod部署到拥有SSD存储节点 ...

  8. Linux命令之ln软链接

    用途:链接文件 默认情况下,ln命令产生硬链接. 最常用的参数是-s(建立符号连接Symbolic Link,也叫软连接),具体用法是: ln-s 源文件 目标文件 当我们需要在不同的目录用到相同的文 ...

  9. 官网下载kettle

    首先什么是kettle,引用下百度百科 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定. Kettle 中文名称叫水壶,该项目 ...

  10. Spring mvc接受集合类型参数的方法

    public String xxxxx(String xxxx, String xxxxx, @RequestParam("parameterList[]") List<St ...