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正则表达式去掉数字中的逗号(python正则匹配逗号)
Dec 25 Python
python爬取51job中hr的邮箱
May 14 Python
python django 实现验证码的功能实例代码
May 18 Python
Python实现的栈(Stack)
Jan 26 Python
python 读取DICOM头文件的实例
May 07 Python
Python爬虫包BeautifulSoup实例(三)
Jun 17 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
Python绘制并保存指定大小图像的方法
Jan 10 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
Oct 24 Python
python对指定字符串逆序的6种方法(小结)
Apr 02 Python
PyTorch 如何自动计算梯度
May 23 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
Jun 05 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小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
jQuery知识点整理
2015/01/30 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
python实现html转ubb代码(html2ubb)
2014/07/03 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
自动化专业本科毕业生求职信
2013/10/20 职场文书
餐饮业创业计划书范文
2014/01/06 职场文书
委托证明的格式
2014/01/10 职场文书
单位未婚证明范本
2014/01/18 职场文书
工程承包协议书
2014/04/22 职场文书
软件测试专业推荐信
2014/09/18 职场文书
2015年仓库工作总结
2015/04/09 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
Python 数据可视化之Seaborn详解
2021/11/02 Python
解决Git推送错误non-fast-forward的方法
2022/06/25 Servers