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获取文件版本信息、公司名和产品名的方法
Oct 05 Python
Python3写入文件常用方法实例分析
May 22 Python
解决matplotlib库show()方法不显示图片的问题
May 24 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
python 中字典嵌套列表的方法
Jul 03 Python
在python中实现将一张图片剪切成四份的方法
Dec 05 Python
使用Python自动化破解自定义字体混淆信息的方法实例
Feb 13 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
Python全局锁中如何合理运用多线程(多进程)
Nov 06 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 Python
matlab xlabel位置的设置方式
May 21 Python
Python的三个重要函数详解
Jan 18 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 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
JQuery datepicker 使用方法
2011/05/20 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
Jquery Ajax xmlhttp请求成功问题
2015/02/04 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
Python合并字符串的3种方法
2015/05/21 Python
python通过ssh-powershell监控windows的方法
2015/06/02 Python
Python中使用Queue和Condition进行线程同步的方法
2016/01/19 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
python实现加密的方式总结
2020/01/19 Python
tensorflow之并行读入数据详解
2020/02/05 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
社区优秀志愿者先进事迹
2014/05/09 职场文书
财务人员担保书
2014/05/13 职场文书
文明社区申报材料
2014/08/21 职场文书
警察群众路线整改措施
2014/09/26 职场文书
Redis+AOP+自定义注解实现限流
2022/06/28 Redis
Go gorilla/sessions库安装使用
2022/08/14 Golang