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的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
python装饰器与递归算法详解
Feb 18 Python
Centos Python2 升级到Python3的简单实现
Jun 21 Python
python中装饰器级连的使用方法示例
Sep 29 Python
python scp 批量同步文件的实现方法
Jan 03 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
python 负数取模运算实例
Jun 03 Python
python+flask编写一个简单的登录接口
Nov 13 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
Feb 26 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压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
python 正则表达式 概述及常用字符
2009/05/04 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
Python+django实现文件下载
2016/01/17 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
Python实现对adb命令封装
2020/03/06 Python
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
求职信模版
2013/11/30 职场文书
庆七一活动方案
2014/01/25 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
会走路的树教学反思
2014/02/20 职场文书
小学数学国培感言
2014/03/10 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
驳回起诉裁定书
2015/05/19 职场文书
欠款起诉书范文
2015/05/19 职场文书
广播体操比赛主持词
2015/06/29 职场文书
公司车辆管理制度
2015/08/04 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
高一作文之暖冬
2019/11/09 职场文书
详细分析PHP7与PHP5区别
2021/06/26 PHP
HTML基础详解(上)
2021/10/16 HTML / CSS
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android