1. 異常簡介
程序在運行過程中可能會出現(xiàn)一些錯誤。比如: 使用了不存在的索引轴总,兩個不同類型的數(shù)據(jù)相加....這些錯誤我們稱之為異常
處理異常 程序運行時出現(xiàn)異常博个,目的并不是讓我們的程序直接終止!Python是希望在出現(xiàn)異常時盆佣,我們可以編寫代碼來對異常進行處理
2. 異常的傳播
當在函數(shù)中出現(xiàn)異常時,如果在函數(shù)中對異常進行了處理虑灰,則異常不會在進行傳播痹兜。如果函數(shù)中沒有對異常進行處理,則異常會繼續(xù)向函數(shù)調(diào)用傳播。如果函數(shù)調(diào)用處處理了異常崖叫,則不再傳播異常拍柒,如果沒有處理則繼續(xù)向調(diào)用處傳播。直到傳遞到全局作用域(主模塊)如果依然沒有處理剧包,則程序終止往果,并顯示異常信息。
當程序運行過程中出現(xiàn)異常以后陕贮,所有異常信息會保存到一個異常對象中。而異常傳播時掉缺,實際上就是異常對象拋給了調(diào)用處
3. 異常對象
try語句try:代碼塊(可能出現(xiàn)錯誤的語句)except異常類型as異常名:代碼塊(出現(xiàn)錯誤以后的處理方式)except異常類型as異常名:代碼塊(出現(xiàn)錯誤以后的處理方式)except異常類型as異常名:代碼塊(出現(xiàn)錯誤以后的處理方式)? ? ....else:代碼塊(沒出錯時要執(zhí)行的語句)? ? ? ? finally:代碼塊(是否出錯該代碼塊都會執(zhí)行)try是必須的else有沒有都可以except和finally至少有一個? ? ? ?
4. 文件打開
文件(file) 通過Python程序來對計算機中的各種文件進行增刪改查的操作 文件也叫I/O(Input/Output)
文件的操作步驟
打開文件
對文件進行各種操作(讀戈擒、寫)然后保存
關(guān)閉文件
文件會有一個返回值。返回一個對象搜囱,這個對象就表示的是當前的文件
5. 關(guān)閉文件
調(diào)用close()方法來關(guān)閉文件
with...as 語句不用寫close()來關(guān)閉柑土。它自帶關(guān)閉
6. 讀取文件
通過read()來讀取文件的內(nèi)容
調(diào)用open()來打開一個文件,可以將文件分為2中類型
一種 純文本文件(使用utf-8編碼編寫的文件)
一種 二進制文件(圖片 mp3 視頻...)
open()打開文件時扮宠,默認是以文本文件的形式打開的 open()默認的編碼為None狐榔。所以處理文本文件時要指定編碼
7. 較大文件的讀取
通過read()讀取文件內(nèi)容時會將文件中所有的內(nèi)容全部讀取出來。如果對于讀取的文件比較大的話荒叼。會一次性的將文件加載到內(nèi)容中。容易導(dǎo)致內(nèi)存泄露坏晦。所以對于較大的文件。不要直接調(diào)用read()
read()可以接收一個size作為的參數(shù)球碉。該參數(shù)用來指定要讀取字符的數(shù)量。默認值為-1.-1也就是要讀取全部的內(nèi)容
每次讀取都會從上次讀取到的位置開始仓蛆。如果字符的數(shù)量小于size睁冬。則會讀取所有的。如果讀取到最后的文件看疙。則會返回空串
readline() 該方法用來讀取一行
readlines() 該方法用于一行一行的讀取內(nèi)容豆拨,它會一次性將讀取到的內(nèi)容封裝到一個列表當中返回
8. 文件的寫入
write()來向文件中寫入內(nèi)容
該方法可以分多次向文件寫入內(nèi)容
寫入完成之后該方法會返回寫入的字符的個數(shù)
使用open()函數(shù)打開文件時,必須要指定打開文件要做的操作(讀能庆、寫施禾、追加)。如果不指定操作類型搁胆,則默認是讀取文件弥搞,而讀取文件是不能向文件中寫入
r 表示只讀
w表示可以寫。使用w寫入文件時渠旁,如果文件不存在則會創(chuàng)建一個文件攀例。如果文件存在則會覆蓋原文件內(nèi)容
9. 二進制文件寫入
讀取文本文件時,size是以字符為單位顾腊。讀取二進制文件時,size是以字節(jié)為單位
我們用wb來寫入二進制文件