python檢查IP位址正確性

2022-03-25 16:13:58 字數 1138 閱讀 5768

#encoding=utf-8

import os,sys

def check_ip(ipaddr):

addr = ipaddr.strip().split('.') #切割ip位址為乙個列表

#print addr

if len(addr) != 4: #切割後列表必須有4個引數

print "check ip address failed1!"

sys.exit()

for i in range(4):

try:

addr[i]=int(addr[i]) #每個引數必須為數字,否則校驗失敗

except:

print "check ip address failed!"

sys.exit()

if addr[i]<=255 and addr[i]>=0: #每個引數值必須在0-255之間

pass

else:

print "check ip address failed!"

sys.exit()

print "check ip address success!"

if __name__ == '__main__':

ip = raw_input("please input check ip:")

# ip = "172.29.41.57"

check_ip(ip)

import socket

def valid_ip(address):

try:

socket.inet_aton(address)

return true

except:

return false

此方法存在侷限性,可以檢測ip位址每個欄位的合法性,無法檢查字段個數。

print valid_ip('10.10.20.30')

-> true

print valid_ip('999.10.20.30')

-> false

print valid_ip('gibberish')

-> false

print valid_ip('172.29.41')  

-> true

健壯性與正確性

健壯性 robustness 與正確性 correctness 健壯性 robustness 表示系統在不正常輸入或不正常外部環境 下仍能夠表現正常的程度。當出錯後,會退出並提示資訊,或者容錯並轉為正常。乙個具有良好健壯性的軟體會讓使用者變得更容易,因為即使他們出錯也可以容忍,因為程式內部已經有容錯...

驗證正確性的方法

驗證正確性的方法 1 bug和除錯 bug的 嗎?除錯,就是找出程式中的錯誤並改正 演算法錯誤 是指乙個演算法中引起該演算法不能實現其預定目標的熱病和錯誤。主要包括四種基本型別 二義性,語法錯誤,語義錯誤,邏輯錯誤 1.1二義性,演算法中比較容易消除的一類。一般體現在指令表達不準確或者不明確。1.2...

補碼正確性的證明

雖然不知道大牛怎麼想到這樣解決補碼的正負表示問題1,但這種解決辦法的正確性倒是可以嘗試證明一下。首先需要明確什麼叫正確性,充要條件暫時沒有想到,先列舉幾個必要條件,至少這些條件需要能成立 本身的值表示正確 本身的符號表示正確 運算結果的值表示正確 運算結果的符號表示正確 接下來證明每乙個條件 一定正...