詳解python中的異常和文件讀寫
Python異常
1、python異常的完整語(yǔ)法
try:
# 提示用戶輸入一個(gè)整數(shù)
num = int(input("輸入一個(gè)整數(shù):"))
# 使用 8 除以用戶輸入的整數(shù)并且輸出
result = 8 / num
print(result)
except ValueError:
print("請(qǐng)輸入正確的整數(shù)!")
except Exception as result:
print("未知錯(cuò)誤:%s" % result)
else:
print("嘗試成功")
finally:
print("無(wú)論是否出現(xiàn)錯(cuò)誤都會(huì)執(zhí)行的代碼!")
print("-" * 50)
2、python異常的傳遞性
當(dāng)函數(shù)/方法執(zhí)行出現(xiàn)異常,會(huì)將異常傳遞給函數(shù)/方法的調(diào)用一方,如果傳遞到主程序,仍然沒(méi)有異常處理,程序才會(huì)被終止。
# 異常的傳遞性
def demo1():
return int(input("輸入整數(shù):"))
def demo2():
return demo1()
# 利用異常的傳遞性,在主程序捕獲異常
try:
print(demo2())
except Exception as result:
print("未知錯(cuò)誤:%s" % result)
3、python主動(dòng)拋出異常
def input_password():
# 1. 提示用戶輸入密碼
pwd = input("請(qǐng)輸入密碼:")
# 2. 判斷密碼長(zhǎng)度 >= 8,返回用戶輸入的密碼
if len(pwd) >= 8:
return pwd
# 3. 如果 < 8 主動(dòng)拋出異常
print("主動(dòng)拋出異常!")
# 1> 創(chuàng)建異常對(duì)象 - 可以使用錯(cuò)誤信息字符串作為參數(shù)
ex = Exception("密碼長(zhǎng)度不夠!")
# 2> 主動(dòng)拋出異常
raise ex
# 提示用戶輸入密碼
try:
print(input_password())
except Exception as result:
print(result)
Python文件讀寫
1、讀取文件后文件指針會(huì)改變
# 1. 打開(kāi)文件
file = open("test.py")
# 2. 讀取文件內(nèi)容
text = file.read()
print(text)
print(len(text))
print("-" * 50)
text = file.read()
print(text)
print(len(text))
# 3. 關(guān)閉文件
file.close()
2、復(fù)制小文件寫法
# 1. 打開(kāi)
file_read = open("test.py")
file_write = open("test[復(fù)件].py", "w")
# 2. 讀、寫
text = file_read.read()
file_write.write(text)
# 3. 關(guān)閉
file_read.close()
file_write.close()
3、復(fù)制大文件寫法
# 1. 打開(kāi)
file_read = open("test.py")
file_write = open("test[復(fù)件].py", "w")
# 2. 讀、寫
while True:
# 讀取一行內(nèi)容
text = file_read.readline()
# 判斷是否讀取到內(nèi)容
if not text:
break
file_write.write(text)
# 3. 關(guān)閉
file_read.close()
file_write.close()
以上就是詳解python中的異常和文件讀寫的詳細(xì)內(nèi)容,更多關(guān)于python 異常和文件讀寫的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例
這篇文章主要介紹了Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例,幫助大家更好的理解和實(shí)用python,感興趣的朋友可以了解下2020-12-12
VScode連接遠(yuǎn)程服務(wù)器上的jupyter notebook的實(shí)現(xiàn)
這篇文章主要介紹了VScode連接遠(yuǎn)程服務(wù)器上的jupyter notebook的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Python數(shù)據(jù)操作方法封裝類實(shí)例
這篇文章主要介紹了Python數(shù)據(jù)操作方法封裝類,結(jié)合具體實(shí)例形式分析了Python針對(duì)數(shù)據(jù)庫(kù)的連接、執(zhí)行sql語(yǔ)句、刪除、關(guān)閉等操作技巧,需要的朋友可以參考下2017-06-06
Python-OpenCV實(shí)現(xiàn)圖像缺陷檢測(cè)的實(shí)例
本文將結(jié)合實(shí)例代碼,在Jupyter Notebook上使用Python+opencv實(shí)現(xiàn)如下圖像缺陷檢測(cè)。需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06
Python識(shí)別快遞條形碼及Tesseract-OCR使用詳解
這篇文章主要介紹了Python識(shí)別快遞條形碼及Tesseract-OCR使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
python 如何通過(guò)KNN來(lái)填充缺失值
這篇文章主要介紹了python 通過(guò)KNN來(lái)填充缺失值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python實(shí)現(xiàn)快速排序的示例(二分法思想)
本篇文章主要介紹了python實(shí)現(xiàn)快速排序的示例(二分法思想),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03

