python3判斷IP地址的方法
本文實例為大家分享了python3判斷IP地址的具體代碼,供大家參考,具體內(nèi)容如下
輸入一串字符,判斷該字符串是否為點分十進制的IP地址,若是則轉(zhuǎn)換為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: # 判斷字符串是否存在非數(shù)字 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進制數(shù) for i in lis: a=hex(int(i))[2:].upper().rjust(2,'0') #轉(zhuǎn)換為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)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 用python查找統(tǒng)一局域網(wǎng)下ip對應的mac地址
- Python3獲取電腦IP、主機名、Mac地址的方法示例
- python獲取本機mac地址和ip地址的方法
- python生成隨機mac地址的方法
- Python生成隨機MAC地址
- python通過scapy獲取局域網(wǎng)所有主機mac地址示例
- python IP地址轉(zhuǎn)整數(shù)
- python 輸入字符串生成所有有效的IP地址(LeetCode 93號題)
- 基于python實現(xiàn)查詢ip地址來源
- python如何判斷IP地址合法性
- Python中IP地址處理IPy模塊的方法
- 如何用Python獲取計算機名,ip地址,mac地址
相關文章
Python任意字符串轉(zhuǎn)16, 32, 64進制的方法
今天小編就為大家分享一篇Python任意字符串轉(zhuǎn)16, 32, 64進制的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06python中文分詞,使用結(jié)巴分詞對python進行分詞(實例講解)
下面小編就為大家?guī)硪黄猵ython中文分詞,使用結(jié)巴分詞對python進行分詞的實例講解。有比較好的參考價值,希望能給大家做個參考。一起跟隨小編過來看看吧2017-11-11利用For循環(huán)遍歷Python字典的三種方法實例
字典由多個鍵和其對應的值構(gòu)成的鍵—值對組成,鍵和值中間以冒號:隔開,項之間用逗號隔開,整個字典是由大括號{}括起來的,下面這篇文章主要給大家介紹了關于如何利用For循環(huán)遍歷Python字典的三種方法,需要的朋友可以參考下2022-03-03Python數(shù)據(jù)結(jié)構(gòu)隊列解決約瑟夫斯問題
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)隊列解決約瑟夫斯問題2023-02-02Python實現(xiàn)圖片轉(zhuǎn)字符畫的示例代碼
本篇文章主要介紹了Python實現(xiàn)圖片轉(zhuǎn)字符畫的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08python人工智能tensorflow常用激活函數(shù)Activation?Functions
這篇文章主要為大家介紹了python人工智能tensorflow常用激活函數(shù)Activation?Functions的匯總介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05pytorch從csv加載自定義數(shù)據(jù)模板的操作
這篇文章主要介紹了pytorch從csv加載自定義數(shù)據(jù)模板的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python中的map()、apply()、applymap()的區(qū)別小結(jié)
map()、apply()和applymap()方法是Python中常用的轉(zhuǎn)換方法,,輸出的結(jié)果及類型完全取決于作為給定方法的參數(shù)的函數(shù),本文就來介紹一下這三種方法的區(qū)別,具有一定的參考價值,感興趣的可以了解一下2023-10-10