




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第八章文件與異常284285第一節文件的基本操作第二節文件與目錄操作第三節異常處理文件的基本操作第一節2861.?了解文件操作的類型。2.?能打開與關閉文件。3.?能讀寫文本文件。287一、文件的打開與關閉1.?文件的打開——open?(?)?函數格式:open?(file,?mode="r",buffering=-1,?encoding=None,?errors=None,?newline=None,?closefd=True,?opener=None)?功能:以指定的模式打開指定文件。說明:(1)file:文件路徑及文件名,可使用相對路徑或絕對路徑。(2)mode:文件的打開模式,默認值為“r”,即只讀模式。文件打開模式見下表。以不同模式打開文件時,文件指針的初始位置有所不同。以“只讀”和“只寫”模式打開時,文件指針的初始位置是文件頭;以“追加”模式打開文件時,文件指針的初始位置是文件尾。288289文件打開模式(3)buffering:指定讀寫文件的緩存模式。0表示不緩沖,1表示行緩沖,如大于1則表示緩沖區的大小。默認值為
-1,表示使用系統默認的緩沖區大小。(4)encoding:指定文件的編碼方式,只適用于文本模式,可以使用Python支持的任何格式。(5)errors:指定如何處理編碼和解碼錯誤。(6)newline:區分換行符,只適用于文本模式,取值可以是None、""、\n、\r、\r\n。(7)closefd:根據傳入的file參數類型,設置文件是否在文件對象的close?(?)?方法中被關閉。(8)opener:自定義打開文件方式。2902.?文件的關閉——close?(?)?函數在絕大多數情況下,打開文件和關閉文件是一對標配操作。如果不關閉打開的文件,則打開的文件對象會一直留存在內存中,若打開的文件多了,容易出現內存溢出等錯誤。格式:文件對象.close?(?)?功能:將緩沖區的內容寫入文件,同時關閉文件,并釋放文件對象。說明:文件對象是指用open?(?)?函數打開后返回的對象。291二、文本文件的讀寫操作1.?寫操作Python中提供了多種方法進行文本文件的寫操作。(1)write?(?)?方法格式:文件對象.write?(s)功能:將字符串s寫入文件中。說明:write?(?)?方法的返回值為寫入的字符數;在寫模式下打開一個已經存在的文件時,將清除原文件的內容,若要保留原文件的內容,可以采用追加模式;寫入內容時,系統不會添加換行符,如需換行,可在字符串s中加入相應的換行符。292(2)writeline?(?)?方法格式:文件對象.writeline?(slist)功能:將字符串列表slist寫入文本文件中。說明:如果需要一次寫入多個字符串,可將所有字符串放入一個列表中。該方法不會自動添加換行符,也沒有返回值。2932.?讀操作Python中提供了多種方式來讀取文本文件中的內容。(1)read?(?)?方法格式:文件對象.read?([size])功能:從文本文件中讀取內容。說明:從文件對象中讀取size個字符的內容,若省略size,則表示讀取所有內容,返回值為字符串。294(2)readline?(?)?方法格式:文件對象.readline?(?)?功能:從文本文件中讀取一行內容,返回值為字符串。(3)readlines?(?)?方法格式:文件對象.readlines?(?)?功能:從文本文件中讀取全部內容,返回值為字符串列表。295三、文件的常用屬性和方法1.?常用屬性文件的常用屬性見下表。296文件的常用屬性2.?方法除了打開、關閉和讀寫操作外,文件還有一些其他常用的內置方法,見下表。297文件常用的內置方法四、上下文管理語句with在程序中即使編寫了關閉文件的代碼,也無法保證文件一定能正常關閉。若在文件打開之后、關閉之前出現錯誤,將無法正常關閉文件。因此,在管理文件對象時推薦使用上下文管理語句with,可以有效地避免文件非正常關閉的問題。上下文管理語句with可自動管理資源,能保證文件被正確關閉,可以在代碼塊執行完畢自動還原進入該代碼塊的上下文,常用于文件操作、數據庫連接、網絡通信連接等場合。298
文件與目錄操作第二節2991.?了解os、os.path模塊的常用文件和目錄操作方法。2.?能獲取文件的各種屬性,完成路徑的常見操作。300一、os模塊為方便文件與目錄操作,Python中的os模塊提供了一些常用方法,見下表。301os模塊的常用方法二、os.path模塊os.path模塊主要用于獲取文件的屬性以及進行路徑操作,常用方法見下表。302os.path模塊常用方法303os.path模塊常用方法異常處理第三節3041.?了解程序錯誤的類型。2.?了解程序異常的類型。3.?能用try…except…結構、try…except…else結構和try…except…else…finally結構捕獲并處理異常。305一、程序錯誤的類型1.?語法錯誤語法錯誤是指因不符合語法規則而產生的錯誤,如標識符命名錯誤、不正確的縮進等,這類錯誤在編輯或解釋時就會被檢測出來,一旦產生這種錯誤,程序將無法運行。2.?運行時錯誤在程序運行過程中產生錯誤而導致程序異常中斷,這類錯誤為運行時錯誤。出現這類錯誤時,系統會終止程序運行,然后報錯。3063.?邏輯錯誤邏輯錯誤又稱語義錯誤,雖然程序并不提示任何語法錯誤,也沒有異常,但最終程序運行結果與預期結果不一致。異常處理主要針對運行時錯誤進行處理,語法錯誤和邏輯錯誤可以通過程序員在設計及編寫程序時進行合理設計并規避。307二、程序異常的類型程序運行時發生的每個異常都對應著一個異常類,Python中的異常類有很多,常見的異常類見下表。308Python中常見的異常類309Python中常見的異常類二、程序異常的類型1.?try…except…結構語法格式:try:
try代碼塊except?[異常?as?ex]:
except代碼塊功能:異常處理。310說明:try子句中的代碼塊包含可能會引發異常的語句,而except子句則用來捕捉相應的異常。如果try子句中的代碼引發異常并被except子句捕捉,則執行except子句代碼塊;如果try子句中的代碼沒有出現異常,則執行異常處理結構之后的代碼。ex表示捕捉到的錯誤對象(名字可以任意)。3112.?try…except…else…結構語法格式:try:
try代碼塊except?[異常?as?ex]:
except代碼塊else:
else代碼塊功能:異常處理。說明:如果執行try中的代碼塊時出現異常并被except子句捕獲則執行except代碼塊,如果沒有出現異常則執行else代碼塊。3123.?try…except…else…finally結構語法格式:try:
try代碼塊except?[異常?as?ex]:?
except代碼塊else:?
else代碼塊finally:?
finally代碼塊313功能:異常處理。說明:如果執行try中的代碼塊時出現異常并被except子句捕獲則執行except代碼塊;如果沒有出現異常,則執行else代碼塊;最后無論是否有異常,都執行finally代碼塊。3144.?帶有多個except的try結構語法格式:try:?
try代碼塊except?[異常1?as?ex1]:?
except代碼塊1except?[異常2?as?ex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東省青島市嶗山區中考二模地理試題及答案
- 2025年中國方形鏈條市場調查研究報告
- 2025年中國數控螺紋鋼軋輥月牙槽銑床市場調查研究報告
- 新疆哈密石油高中2025屆高三第二次調查研究考試化學試題含解析
- 小兒維斯科特-奧爾德里奇綜合征預防和措施課件
- 肇慶市實驗中學高中歷史一:第課世界多極化趨勢教案
- 新疆能源職業技術學院《高級細胞生物學》2023-2024學年第二學期期末試卷
- 2025-2030年中國PVAC乳液境外融資報告
- 新疆職業大學《Hadoop綜合實訓》2023-2024學年第一學期期末試卷
- 邢臺市臨西縣2025屆三下數學期末達標檢測模擬試題含解析
- 安全運輸醫療垃圾的要點
- 關于員工心理健康的重要性
- 刑事案件模擬法庭劇本完整版五篇
- 2022年高考全國I卷數學高考真題(原卷版)
- 《商務英語閱讀》教學大綱
- 會計學畢業論文8000字-會計學論文范文8000字
- 小學教育畢業論文6000字范文
- 《愛心樹》-經典繪本省名師優質課賽課獲獎課件市賽課一等獎課件
- 初級家政服務員培訓烹飪篇課件
- 西游記搞笑劇本【五篇】
- 初中物理-第十二章簡單機械復習課教學課件設計
評論
0/150
提交評論