python3判断IP地址的方法


Posted in Python onMarch 04, 2021

本文实例为大家分享了python3判断IP地址的具体代码,供大家参考,具体内容如下

输入一串字符,判断该字符串是否为点分十进制的IP地址,若是则转换为16进制输出,否则输出“Error”

注意:输入可能是任意的一个字符串,比如“abc.bas.fefe.4r4”或者“23.23.11.23.123”
这都是不合法的IP地址

例如

输入:192.41.6.20

输出:0xC0290614

输入:257.32.23.1

输出:Error

解1

import re
def isIP(str):
 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(str):
  return True
 # else:
 #  return False
myStr = input()
if isIP(myStr):
 print(IP(myStr).strHex().upper())
 # ip = list(map(int, myStr.split('.')))
 # print('0x', end='')
 # for i in ip:
 #  print(hex(i)[2:].upper().rjust(2, '0'), end='')
else:
 print('Error')

解2:

def change(lis):
 if len(lis)!=4:
 return 'Error'
 try:    # 判断字符串是否存在非数字
 lis=[int(i) for i in lis]
 except:
 return 'Error'
 for i in lis:
 if i<0 or i>255: # 判断ip地址是否合法
 return 'Error'
 temp='0x'   #记录16进制数
 for i in lis:
 a=hex(int(i))[2:].upper().rjust(2,'0') #转换为16进制
 # if len(a)!=2:
 # a='0'+a
 temp+=a
 return temp
s=list(map(str,input().split('.')))
print(change(s))

解3

l = input().split(".")
if len(l) != 4:
 print("Error")
else:
 s = ""
 for i in l:
  try:
   num = int(i)
   if num > 255 or num < 0:
    print("Error")
    s = ""
    break
   else:
    s += hex(num)[2:].upper().rjust(2, "0")
  except ValueError:
   print("Error")
   s = ""
   break
 if s:
  print("0x" + s)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之数据类型总结
Sep 24 Python
PyCharm使用教程之搭建Python开发环境
Jun 07 Python
Python中.py文件打包成exe可执行文件详解
Mar 22 Python
Python的语言类型(详解)
Jun 24 Python
Python通过Pygame绘制移动的矩形实例代码
Jan 03 Python
Python反射的用法实例分析
Feb 11 Python
Python跳出多重循环的方法示例
Jul 03 Python
python实现递归查找某个路径下所有文件中的中文字符
Aug 31 Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 Python
python之生成多层json结构的实现
Feb 27 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
Flask处理Web表单的实现方法
Jan 31 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
Mar 03 #Python
python和opencv构建运动检测器的实现
Mar 03 #Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 #Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 #Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
Mar 03 #Python
对Pytorch 中的contiguous理解说明
Mar 03 #Python
Flask中jinja2的继承实现方法及实例
Mar 03 #Python
You might like
php中使用redis队列操作实例代码
2013/02/07 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
在网页里看flash的trace数据的js类
2009/01/10 Javascript
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
[48:39]Ti4主赛事胜者组第一天 EG vs NEWBEE 2
2014/07/19 DOTA
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
python版本的读写锁操作方法
2016/04/25 Python
python实现kMeans算法
2017/12/21 Python
Python中str.join()简单用法示例
2018/03/20 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
Python中过滤字符串列表的方法
2020/12/22 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
副科竞争上岗演讲稿
2014/05/12 职场文书
投标保密承诺书
2014/05/19 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android
springboot用户数据修改的详细实现
2022/04/06 Java/Android