小白如何零基礎(chǔ)學(xué)習(xí)Python教程-文件與異常
今天馬哥教育要跟大家分享的文章是小白如何零基礎(chǔ)學(xué)習(xí)Python教程-文件與異常?熟悉Python的小伙伴們都知道在程序運(yùn)行的過程中,可能會(huì)出現(xiàn)的異常狀況該如何捕捉呢?Python入門新手和正在Python學(xué)習(xí)的小伙伴快來看一看吧,希望能夠?qū)Υ蠹矣兴鶐椭?!
異常
在程序運(yùn)行的過程中,如果發(fā)生了錯(cuò)誤,可以事先約定返回一個(gè)錯(cuò)誤代碼,這樣,就可以知道是否有錯(cuò),以及出錯(cuò)的原因。在Python中,我們可以將那些在運(yùn)行時(shí)可能會(huì)出現(xiàn)狀況的代碼放在try代碼塊中,在try代碼塊的后面可以跟上一個(gè)或多個(gè)except來捕獲可能出現(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 代碼塊來關(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í)行代碼塊”,它最適合用來做釋放外部資源的操作。
文件讀寫
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ì)的信息告訴你文件不存在。
如果文件打開成功,接下來,調(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ì)文件的其他操作如下圖示:
以上就是馬哥教育今天為大家分享的關(guān)于小白如何零基礎(chǔ)學(xué)習(xí)Python教程-文件與異常的文章,希望本篇文章能夠?qū)φ?Python學(xué)習(xí)?和從事Python相關(guān)工作的小伙伴們有所幫助,想要了解更多相關(guān)知識(shí)記得關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量?jī)?yōu)質(zhì)內(nèi)容與大家分享!
聲明:文章來源于網(wǎng)絡(luò),侵刪!