Python程序設(shè)計(jì)課件:操作文件并處理異常_第1頁
Python程序設(shè)計(jì)課件:操作文件并處理異常_第2頁
Python程序設(shè)計(jì)課件:操作文件并處理異常_第3頁
Python程序設(shè)計(jì)課件:操作文件并處理異常_第4頁
Python程序設(shè)計(jì)課件:操作文件并處理異常_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

操作文件并處理異常

操作本地文件目錄Content1為Python程序添加異常處理操作2項(xiàng)目導(dǎo)言零

計(jì)算機(jī)文件通常是以數(shù)字形式存儲(chǔ)在計(jì)算機(jī)硬盤等存儲(chǔ)介質(zhì)上,并由操作系統(tǒng)進(jìn)行管理和訪問。而異常處理則是編程語言中的一種機(jī)制,通過捕獲、處理和反饋程序運(yùn)行時(shí)出現(xiàn)的異常情況,保證程序的正確性、穩(wěn)定性和可靠性。異常處理可以增強(qiáng)程序的健壯性,使其能夠應(yīng)對(duì)各種可能出現(xiàn)的異常情況,避免因意外錯(cuò)誤導(dǎo)致程序崩潰或數(shù)據(jù)損失等問題。本項(xiàng)目主要完成文件的操作以及程序中異常處理功能的添加。學(xué)習(xí)目標(biāo)零知識(shí)目標(biāo)了解文件的常用操作;熟悉os模塊功能;熟悉異常處理的作用;掌握異常處理流程。能力目標(biāo)具備在程序中操作文件的能力;具備使用os模塊的能力;具備實(shí)現(xiàn)異常處理的能力。素養(yǎng)目標(biāo)具有事業(yè)心和責(zé)任心;具有較強(qiáng)的勞動(dòng)組織能力、集體意識(shí)和社會(huì)責(zé)任心;具有艱苦奮斗的精神和務(wù)實(shí)作風(fēng)。任務(wù)5-1:操作本地文件壹1文件操作

在編程中,文件也是一個(gè)非常重要的概念,可以使用編程語言提供的文件I/O操作來讀取和寫入文件。通過文件I/O操作,程序能夠讀取、修改、刪除或創(chuàng)建文件,并將文件的內(nèi)容作為程序輸入或輸出。目前,Python提供了多個(gè)用于實(shí)現(xiàn)文件I/O操作的內(nèi)置函數(shù),常用函數(shù)見表。函數(shù)描述open()打開文件write()寫入文件內(nèi)容writelines()寫入多個(gè)內(nèi)容read()讀取文件內(nèi)容readline()按行讀取readlines()讀取文件內(nèi)容close()關(guān)閉文件任務(wù)5-1:操作本地文件壹(1)open()

在Python中,open()是一個(gè)內(nèi)置函數(shù),用于打開文件,創(chuàng)建并返回一個(gè)對(duì)應(yīng)的文件對(duì)象,可以對(duì)該文件對(duì)象進(jìn)行讀寫操作,語法格式如下所示。file=open(file_name[,access_mode][,buffering])參數(shù)說明見表。參數(shù)描述file_name表示要打開的文件名或文件路徑access_mode文件打開的模式,可選值有:r:默認(rèn)模式,以只讀方式打開文件w:以寫入方式打開文件,如果文件已經(jīng)存在,則覆蓋原文件a:以追加方式打開文件,在原文件基礎(chǔ)上繼續(xù)進(jìn)行寫入操作x:以獨(dú)占方式創(chuàng)建文件,如果文件已經(jīng)存在就會(huì)報(bào)錯(cuò)b:二進(jìn)制模式,可與其他模式配合使用,如“rb”、“wb”t:文本模式,與其他模式一起使用,用于操作文本文件,如:“rt”+:讀寫模式buffering緩沖策略,可選值有:-1:使用系統(tǒng)默認(rèn)的緩沖大小0:不做緩沖,直接寫入到硬盤1:行緩沖n(n>1):指定緩沖區(qū)的大小任務(wù)5-1:操作本地文件壹

需要注意的是,在使用open()函數(shù)打開一個(gè)文件時(shí),如果文件不存在,則會(huì)拋出FileNotFoundError異常。因此,在打開文件之前要確保該文件存在,或者使用try...except結(jié)構(gòu)來處理異常。例如,使用open()函數(shù)打開一個(gè)名為example.txt的文件并設(shè)置只讀模式,代碼如下。file=open('example.txt','r')(2)write()Python的write()方法用于向一個(gè)文件中寫入指定的字符串或字節(jié)序列,該方法是文件對(duì)象的一個(gè)方法,需要通過打開文件并獲取文件對(duì)象后才能使用,語法格式如下所示。file.write(string)其中,file表示要寫入的文件對(duì)象;string是要寫入文件的內(nèi)容,可以是字符串或二進(jìn)制數(shù)據(jù),如果寫入失敗,會(huì)拋出異常。任務(wù)5-1:操作本地文件壹例如,使用write()方法將字符串“Hello,World!”寫入名為example.txt的文件中,代碼如下。file=open('example.txt','w')file.write("Hello,World!")file=open('example.txt','w')file.write("Hello,")file.write("World!")另外,如果要將多個(gè)字符串或字節(jié)序列寫入同一個(gè)文件,則可以連續(xù)調(diào)用多次write()方法。例如,將字符串“Hello,”和“World!”分別寫入文件中,代碼如下。任務(wù)5-1:操作本地文件壹(3)writelines()file.writelines(iterable)#打開文件file=open("example.txt","w")#向文件中寫入多行數(shù)據(jù)lines=["Hello\n","World\n"]file.writelines(lines)需要注意的是,writelines()方法同樣不會(huì)自動(dòng)添加換行符,每個(gè)字符串都會(huì)被緊密地寫入文件中,因此在每個(gè)字符串末尾添加換行符時(shí)需要手動(dòng)添加。例如,使用writelines()函數(shù)將字符串列表“["Hello\n","World\n"]”寫入名為example.txt的文件中,代碼如下。相比與write()函數(shù),writelines()函數(shù)同樣用于實(shí)現(xiàn)內(nèi)容的寫入,但該函數(shù)用于將一個(gè)字符串列表或迭代器中的所有字符串寫入文件中,語法格式如下所示。任務(wù)5-1:操作本地文件壹(4)read()file.read(size)其中,size是要讀取的字節(jié)數(shù)或字符數(shù),當(dāng)size大于文件中剩余內(nèi)容長度時(shí),則read()方法會(huì)一次性讀取所有剩余內(nèi)容并返回;當(dāng)省略該參數(shù),則將讀取整個(gè)文件;當(dāng)指定了size參數(shù),則read()函數(shù)會(huì)讀取指定大小的內(nèi)容并返回,若無法讀取指定大小的內(nèi)容則返回實(shí)際讀取到的內(nèi)容。在Python中,read()同樣是一個(gè)文件對(duì)象的函數(shù),用于從文件中讀取指定字節(jié)數(shù)或字符數(shù)的數(shù)據(jù),該方法只能用于打開文件的讀取模式(即r模式或a+模式),語法格式如下所示。任務(wù)5-1:操作本地文件壹#打開文件file=open("example.txt","r")#讀取文件中的數(shù)據(jù)data=file.read()#輸出讀取到的數(shù)據(jù)print(data)另外,每次調(diào)用read()方法時(shí),都會(huì)從上一次讀取的位置開始讀取數(shù)據(jù);如果多次調(diào)用read()方法,每次讀取的數(shù)據(jù)都會(huì)累加到緩沖區(qū)中,因此需要注意數(shù)據(jù)是否會(huì)超出內(nèi)存限制。例如,使用read()函數(shù)讀取名為example.txt的文件的整個(gè)內(nèi)容,代碼如下。任務(wù)5-1:操作本地文件壹file.readline(size)(5)readline()和readlines()readline()和readlines()函數(shù)同樣用于從文件中讀取內(nèi)容。其中,readline()函數(shù)用于從文本文件中讀取一行數(shù)據(jù)(包括行末換行符“\n”),語法格式如下所示。size表示要讀取的字節(jié)數(shù)或字符數(shù),通常不需要指定,默認(rèn)讀取一整行數(shù)據(jù)。例如,使用readline()函數(shù)逐行讀取名為example.txt的文件并打印每一行內(nèi)容,代碼如下。file=open('example.txt','r')line=file.readline()whileline:print(line)line=file.readline()任務(wù)5-1:操作本地文件壹file.readlines(sizehint)而readlines()函數(shù)則用于從文本文件中一次性讀取所有行數(shù)據(jù),并返回一個(gè)包含所有行數(shù)據(jù)的列表,語法格式如下所示。sizehint是可選參數(shù),表示要讀取的最大字節(jié)數(shù)或字符數(shù),如果不指定sizehint或者sizehint小于等于0,則讀取文件中所有的數(shù)據(jù)。例如,使用readlines()函數(shù)從example.txt文件中讀取多行數(shù)據(jù),代碼如下。#打開文件file=open("example.txt","r")#讀取文件中的數(shù)據(jù)并保存到列表中l(wèi)ines=file.readlines()#輸出讀取到的數(shù)據(jù)forlineinlines:print(line)任務(wù)5-1:操作本地文件壹file.close()(6)close()Python的close()方法用于關(guān)閉打開的文件。該方法應(yīng)該在完成對(duì)文件的讀取或?qū)懭氩僮骱笳{(diào)用,以確保釋放文件資源并將其保存到磁盤上。并在關(guān)閉文件之后,就不能再對(duì)其進(jìn)行讀寫操作,語法格式如下所示。file=open('example.txt','r')#在這里進(jìn)行文件讀取或?qū)懭氩僮鱢ile.close()例如,使用close()函數(shù)關(guān)閉名為example.txt的文件,代碼如下。需要注意的是,在使用文件對(duì)象進(jìn)行讀寫操作后,一定要記得及時(shí)關(guān)閉文件以釋放相應(yīng)的系統(tǒng)資源,否則會(huì)導(dǎo)致資源的浪費(fèi)和泄露,并且,如果未正確關(guān)閉文件,可能會(huì)導(dǎo)致文件損壞或數(shù)據(jù)丟失。特別是在處理大文件時(shí),因?yàn)槲募?duì)象會(huì)占用系統(tǒng)資源,如果不及時(shí)釋放可能會(huì)導(dǎo)致系統(tǒng)的性能下降。任務(wù)5-1:操作本地文件壹#使用with語句打開文件并處理數(shù)據(jù)withopen("example.txt")asfile:#讀取文件中的數(shù)據(jù)并輸出到控制臺(tái)data=file.read()print(data)另外,在Python實(shí)際編程過程中,除了使用close()方法關(guān)閉文件之外,還可以使用with語句來打開文件并處理文件中的數(shù)據(jù),這樣可以自動(dòng)調(diào)用close()方法來關(guān)閉文件,同時(shí)還可以更加簡潔和安全地處理文件對(duì)象。例如,使用with語句打開名為example.txt的文件并處理數(shù)據(jù),代碼如下。任務(wù)5-1:操作本地文件壹2os模塊

Python的os模塊是一個(gè)提供了與操作系統(tǒng)交互的接口的標(biāo)準(zhǔn)庫。通過os模塊,可以實(shí)現(xiàn)對(duì)文件和目錄的創(chuàng)建、刪除、移動(dòng)、重命名等操作,以及獲取和修改當(dāng)前工作目錄、環(huán)境變量等一系列與操作系統(tǒng)相關(guān)的功能。文件和目錄操作函數(shù)提供了與文件和目錄相關(guān)的方法,如創(chuàng)建、刪除、重命名、移動(dòng)、獲取屬性等,常用函數(shù)見表。函數(shù)描述os.getcwd()獲取當(dāng)前工作目錄os.listdir(path)列出指定路徑下的所有文件和目錄,其中:path:文件或目錄路徑os.access(path,mode)驗(yàn)證權(quán)限,其中:path:文件或目錄路徑mode:檢驗(yàn)內(nèi)容,返回值為True或Falseos.chmod(path,flags)更改權(quán)限,其中:path:文件或目錄路徑flags:設(shè)置的權(quán)限os.mkdir(path,mode=0o777,dir_fd=None)創(chuàng)建指定路徑的目錄,其中:path:文件或目錄路徑mode:指定新建目錄的權(quán)限,默認(rèn)為0o777(即所有用戶都有讀、寫和執(zhí)行權(quán)限)dir_fd:指定父目錄的文件描述符,若提供,則將在該指定的目錄下創(chuàng)建子目錄os.makedirs(name,mode=0o777,exist_ok=False)遞歸地創(chuàng)建一個(gè)或多個(gè)新的目錄。與mkdir()函數(shù)不同的是,該函數(shù)會(huì)依次創(chuàng)建各級(jí)父目錄,如果已存在則跳過。其中:name:要?jiǎng)?chuàng)建的目錄路徑mode:新建目錄的權(quán)限,默認(rèn)為0o777(即所有用戶都有讀、寫和執(zhí)行權(quán)限)exist_ok:如果目標(biāo)目錄已經(jīng)存在,則是否允許忽略,默認(rèn)為False任務(wù)5-1:操作本地文件壹函數(shù)描述os.open(file,mode,flags)打開文件,其中:file:文件的路徑mode:打開方式flags:可選參數(shù),用于設(shè)置權(quán)限os.read(fd,n)讀取內(nèi)容,其中:fd:文件被打開時(shí)生成的文件對(duì)象n:讀取的字節(jié)數(shù)os.close(fd)關(guān)閉文件,其中:fd:文件被打開時(shí)生成的文件對(duì)象os.remove(path,dir_fd=None)刪除指定的文件,其中:path:要?jiǎng)h除的文件路徑dir_fd:指定父目錄的文件描述符,若提供,則將在該指定的目錄下查找和刪除文件os.rmdir(path,dir_fd=None)刪除指定的目錄。注意,要求目錄為空。其中:path:要?jiǎng)h除的目錄路徑dir_fd:指定父目錄的文件描述符,若提供,則將在該指定的目錄下查找和刪除目錄。os.removedirs(path)遞歸地刪除指定目錄及其所有子目錄。與rmdir()函數(shù)不同的是,該函數(shù)會(huì)依次刪除各級(jí)子目錄,如果目錄非空則拋出異常。其中:path:要?jiǎng)h除的目錄路徑,可以是絕對(duì)路徑或相對(duì)路徑os.rename(src,dst,src_dir_fd=None,dst_dir_fd=None)將文件或目錄從源路徑重命名為目標(biāo)路徑,其中:src:要重命名的源文件路徑或目錄路徑dst:新的文件名或目錄名src_dir_fd:指定源目錄的文件描述符,可選。若提供,則將在該指定的目錄下查找并重命名源文件或目錄dst_dir_fd:指定目標(biāo)目錄的文件描述符,可選。若提供,則將在該指定的目錄下重命名文件或目錄os.path.exists(path)檢查指定的路徑是否存在,如果指定的路徑存在,則返回True;否則,返回False。其中:path:要檢查的文件或目錄路徑os.path.isfile(path)檢查指定的路徑是否為文件,其中:path:要檢查的文件或目錄路徑os.path.isdir(path)檢查指定的路徑是否為目錄,其中:path:要檢查的文件或目錄路徑os.path.join(path,*paths)將多個(gè)路徑字符串拼接成一個(gè)完整的路徑。該函數(shù)會(huì)根據(jù)操作系統(tǒng)自動(dòng)添加路徑分隔符。其中:path:第一個(gè)路徑字符串*paths:零個(gè)或多個(gè)路徑字符串os.path.abspath(path)獲取指定路徑的絕對(duì)路徑,其中:path:要獲取絕對(duì)路徑的路徑字符串os.path.basename(path)獲取指定路徑中的文件名部分,其中:path:要獲取基本文件名的路徑字符串os.path.dirname(path)獲取指定路徑中的目錄部分,其中:path:要獲取父目錄路徑的路徑字符串任務(wù)5-1:操作本地文件壹其中,當(dāng)mode參數(shù)表示打開方式時(shí),可選參數(shù)值見表。參數(shù)值描述os.O_RDONLY只讀模式os.O_WRONLY寫入模式os.O_RDWR讀寫模式os.O_CREAT如果文件不存在則新建文件os.O_EXCL獨(dú)占創(chuàng)建模式os.O_TRUNC若文件已存在,則清空文件內(nèi)容os.O_APPEND追加模式而flags用于權(quán)限的設(shè)置,可選參數(shù)值見表。參數(shù)值描述stat.S_IXOTH其他用戶有執(zhí)行權(quán)stat.S_IWOTH其他用戶有寫權(quán)限stat.S_IROTH其他用戶有讀權(quán)限stat.S_IRWXO其他用戶有全部權(quán)限stat.S_IXGRP組用戶有執(zhí)行權(quán)限stat.S_IWGRP組用戶有寫權(quán)限stat.S_IRGRP組用戶有讀權(quán)限stat.S_IRWXG組用戶有全部權(quán)限stat.S_IXUSR擁有者具有執(zhí)行權(quán)限stat.S_IWUSR擁有者具有寫權(quán)限stat.S_IRUSR擁有者具有讀權(quán)限stat.S_IRWXU擁有者有全部權(quán)限stat.S_ISVTX擁有者刪除權(quán)限任務(wù)5-2為Python程序添加異常處理操作貳1認(rèn)識(shí)異常在Python中,異常分為內(nèi)置異常和自定義異常。內(nèi)置異常是由解釋器或運(yùn)行時(shí)庫引發(fā)的異常,常見內(nèi)置異常見表。異常描述BaseException所有異常的基類Exception所有非系統(tǒng)退出或者中斷的異常的基類ArithmeticError數(shù)學(xué)運(yùn)算錯(cuò)誤的基類,包括除數(shù)為零、無窮大等情況SystemExit當(dāng)Python解釋器接收到sys.exit()調(diào)用時(shí)引發(fā)此異常KeyboardInterrupt用戶取消程序執(zhí)行時(shí)引發(fā)的異常SyntaxError語法錯(cuò)誤時(shí)引發(fā)的異常StopIteration迭代器沒有更多的元素時(shí)引發(fā)的異常AssertionError斷言失敗時(shí)引發(fā)的異常NameError嘗試訪問一個(gè)不存在的變量或函數(shù)時(shí)引發(fā)的異常TypeError操作或函數(shù)應(yīng)用于不適當(dāng)類型的對(duì)象時(shí)引發(fā)的異常ValueError傳遞給函數(shù)的參數(shù)類型正確但值不合適時(shí)引發(fā)的異常IOError輸入輸出操作引發(fā)的異常,例如打開文件、讀寫文件等IndexError索引超出序列范圍時(shí)引發(fā)的異常任務(wù)5-2為Python程序添加異常處理操作貳異常描述KeyError在映射中查找一個(gè)不存在的鍵時(shí)引發(fā)的異常FileNotFoundError文件不存在時(shí)引發(fā)的異常AttributeError訪問對(duì)象沒有的屬性時(shí)引發(fā)的異常ZeroDivisionError除數(shù)為零時(shí)引發(fā)的異常IndentationError縮進(jìn)錯(cuò)誤時(shí)引發(fā)的異常MemoryError內(nèi)存耗盡時(shí)引發(fā)的異常任務(wù)5-2為Python程序添加異常處理操作貳而自定義異常則是開發(fā)人員根據(jù)具體業(yè)務(wù)需要自定義的異常類型,通常繼承自Exception類或其子類,語法格式如下所示。classCustomError(Exception):pass例如,定義一個(gè)名為MyException的自定義異常類,它繼承了標(biāo)準(zhǔn)異常類Exception。之后重寫__init__()方法以添加自定義的message屬性。最后使用raise語句拋出這個(gè)異常,并在except塊中捕獲并處理該異常,代碼如下。#自定義一個(gè)繼承自Exception的異常類classMyException(Exception):def__init__(self,message):self.message=messagetry:raiseMyException("這是我的異常")exceptMyExceptionase:print(e.message)任務(wù)5-2為Python程序添加異常處理操作貳2異常處理1、try...except語句try...except是Python中用于異常處理的重要機(jī)制,可以捕獲可能出現(xiàn)的異常并執(zhí)行相應(yīng)的操作,從而保證程序的穩(wěn)定性和可靠性。其中,try代碼塊中包含可能會(huì)拋出異常的代碼,而except代碼塊則包含針對(duì)特定異常類型進(jìn)行處理的代碼,try...except語句處理異常流程如圖所示。任務(wù)5-2為Python程序添加異常處理操作貳語法格式如下所示。try:#可能會(huì)發(fā)生異常的代碼塊except異常類型1:#處理異常類型1的代碼塊except異常類型2:#處理異常類型2的代碼塊...其中,try代碼塊中放置可能會(huì)出現(xiàn)異常的代碼,如果異常被拋出,則該塊中余下的代碼將被跳過。然后,如果異常類型與第一個(gè)except匹配,就會(huì)執(zhí)行第一個(gè)except代碼塊中的代碼;如果不匹配,則異常會(huì)傳遞到下一個(gè)except代碼塊中。如果異常沒有被任何一個(gè)except代碼塊處理,則會(huì)傳遞到上一級(jí)try代碼塊(如果有)或最終傳遞到程序外部并導(dǎo)致程序崩潰。任務(wù)5-2為Python程序添加異常處理操作貳例如,使用try...except語句捕獲除法計(jì)算時(shí)可能出現(xiàn)的ValueError和ZeroDivisionError異常,代碼如下。try:x=int(input("請(qǐng)輸入一個(gè)數(shù):"))y=10/xexceptValueError:print("無效的輸入")exceptZeroDivisionError:print("除數(shù)不能為零")任務(wù)5-2為Python程序添加異常處理操作貳另外,在except語句中,還可以通過添加as關(guān)鍵字指定一個(gè)變量名來保存異常對(duì)象,之后可以使用該變量來獲取異常的信息(例如異常類型、錯(cuò)誤消息等),語法格式如下所示。try:#可能會(huì)發(fā)生異常的代碼塊except異常類型as異常變量:#處理異常的代碼塊在該語法結(jié)構(gòu)中,如果try代碼塊中的代碼拋出了指定的異常類型,則會(huì)進(jìn)入相應(yīng)的except代碼塊中,同時(shí)將異常的詳細(xì)信息存儲(chǔ)到指定的異常變量中。異常變量可以是任意有效的Python變量名,它的作用是允許在except塊中訪問有關(guān)異常的信息,例如異常類型、異常消息等。任務(wù)5-2為Python程序添加異常處理操作貳例如,在將字符串“abc”轉(zhuǎn)換成整數(shù)時(shí),拋出ValueError異常并輸出異常的相關(guān)信息,代碼如下。try:x=int("abc")exceptValueErrorase:print("出現(xiàn)了ValueError異常:",e)任務(wù)5-2為Python程序添加異常處理操作貳2、try...except...else語句try...except...else語句是try...except語句的升級(jí),在try...except語句的基礎(chǔ)上增加了else語句,用于指定沒有異常發(fā)生時(shí)需要執(zhí)行的代碼塊。當(dāng)try語句塊中的代碼沒有引發(fā)任何異常時(shí),else語句塊中的代碼將被執(zhí)行。try...except...else語句處理異常流程如圖所示。任務(wù)5-2為Python程序添加異常處理操作貳語法格式如下所示。try:#可能會(huì)發(fā)生異常的代碼塊except異常類型1:#處理異常類型1的代碼塊except異常類型2:#處理異常類型2的代碼塊...else:#如果try代碼塊中沒有發(fā)生任何異常,則會(huì)執(zhí)行else代碼塊任務(wù)5-2為Python程序添加異常處理操作貳需要注意的是,如果except代碼塊中沒有匹配到拋出的異常類型,那么程序仍會(huì)拋出異常,并且else中的代碼也不會(huì)被執(zhí)行。例如,使用try...except...else語句來處理可能出現(xiàn)的異常,代碼如下。try:x=int(input("請(qǐng)輸入一個(gè)整數(shù):"))y=10/xexceptValueErrorase:print("無效的輸入:",e)exceptZeroDivisionErrorase:print("除數(shù)不能為零:",e)else:print("計(jì)算結(jié)果是:",y)在上述示例中,try代碼塊中嘗試將用戶輸入的字符串轉(zhuǎn)換成整數(shù),并計(jì)算10除以該整數(shù)。如果用戶輸入無效的字符串或者除數(shù)為零,則會(huì)拋出相應(yīng)的異常并被except代碼塊捕獲處理;否則,如果轉(zhuǎn)換及計(jì)算成功,則會(huì)執(zhí)行else代碼塊中的計(jì)算結(jié)果輸出操作。任務(wù)5-2為Python程序添加異常處理操作貳3、finally語句finally語句是Python中用于try...except語句的一種結(jié)構(gòu),它在try或except代碼塊執(zhí)行完畢后必定會(huì)執(zhí)行,且無論前面的代碼是否拋出異常。通常情況下,finally語句被用來釋放資源或進(jìn)行一些必要的清理工作。finally語句處理異常流程如圖所示。任務(wù)5-2為Python程序添加異常處理操作貳語法格式如下所示。try:#可能會(huì)發(fā)生異常的代碼塊except異常類型1:#處理異常類型1的代碼塊except異常類型2:#處理異常類型2的代碼塊...finally:#必須執(zhí)行的代碼塊,通常用于資源的釋放和清理工作任務(wù)5-2為Python程序添加異常處理操作貳語法格式如下所示。try:#可能會(huì)發(fā)生異常的代碼塊except異常類型1:#處理異常類型1的代碼塊except異常類型2:#處理異常類型2的代碼塊...finall

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論