零基礎(chǔ)Python教程-文件與異常
今天給大家分享一下零基礎(chǔ)Python教程的文件與異常,希望對(duì)剛開始學(xué)習(xí)Python的同學(xué)有所幫助,也希望大家可以持續(xù)關(guān)注我們網(wǎng)站,每天都會(huì)有優(yōu)質(zhì)的Python知識(shí)的分享歐!
異常
在程序運(yùn)行的過程中,如果發(fā)生了錯(cuò)誤,可以事先約定返回一個(gè)錯(cuò)誤代碼,這樣,就可以知道是否有錯(cuò),以及出錯(cuò)的原因。在Python中,我們可以將那些在運(yùn)行時(shí)可能會(huì)出現(xiàn)狀況的代碼放在try代碼塊中,在try代碼塊的后面可以跟上一個(gè)或多個(gè)except來(lái)捕獲可能出現(xiàn)的異常狀況。如下所示:
try: print('try...') r = 10 / int('a') print('result:', r) except ValueError as e: print('ValueError:', e) except ZeroDivisionError as e: print('ZeroDivisionError:', e) finally: print('finally...') print('END')
最后我們使用 finally 代碼塊來(lái)關(guān)閉打開的文件,釋放掉程序中獲取的外部資源,由于 finally 塊的代碼不論程序正常還是異常都會(huì)執(zhí)行到(甚至是調(diào)用了sys模塊的exit函數(shù)退出Python環(huán)境,finally塊都會(huì)被執(zhí)行,因?yàn)閑xit函數(shù)實(shí)質(zhì)上是引發(fā)了SystemExit異常),因此我們通常把finally塊稱為“總是執(zhí)行代碼塊”,它最適合用來(lái)做釋放外部資源的操作。
文件讀寫
2-1 讀文件
在Python中實(shí)現(xiàn)文件的讀寫操作其實(shí)非常簡(jiǎn)單,通過Python內(nèi)置的open函數(shù)即可完成。
# 標(biāo)示符'r'表示讀 f = open('/Users/test.txt', 'r')
如果文件不存在,open()函數(shù)就會(huì)拋出一個(gè)IOError的錯(cuò)誤,并且給出錯(cuò)誤碼和詳細(xì)的信息告訴你文件不存在。
如果文件打開成功,接下來(lái),調(diào)用read()方法可以一次讀取文件的全部?jī)?nèi)容,Python把內(nèi)容讀到內(nèi)存,用一個(gè)str對(duì)象表示:
>>> f.read()' Hello, world!'
最后一步是調(diào)用close()方法關(guān)閉文件。文件使用完畢后必須關(guān)閉,因?yàn)槲募?duì)象會(huì)占用操作系統(tǒng)的資源,并且操作系統(tǒng)同一時(shí)間能打開的文件數(shù)量也是有限的:
>>> f.close()
但是,如果我們每次都這樣操作的話,未免太過于麻煩。所以Python引入with關(guān)鍵詞,幫我們自動(dòng)關(guān)閉連接、釋放資源。
with open('test.txt', 'r', encoding='utf-8') as f: print(f.read())
2-2 寫文件
寫文件和讀文件是一樣的,唯一區(qū)別是調(diào)用open()函數(shù)時(shí),傳入標(biāo)識(shí)符'w'或者'wb'表示寫文本文件或?qū)懚M(jìn)制文件:
with open('/Users/test.txt', 'w') as f: f.write('Hello, world!')
對(duì)文件的其他操作如下圖示:

今天的分享到這里就結(jié)束了歐,希望大能持續(xù)關(guān)注馬哥教育官網(wǎng),我們也會(huì)不斷為大家分享優(yōu)質(zhì)的內(nèi)容的。免責(zé)聲明:內(nèi)容和圖片源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請(qǐng)告知,我們將盡快刪除相關(guān)內(nèi)容。