文件操作和異常

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來寫入二進制文件

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末投慈,一起剝皮案震驚了整個濱河市承耿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伪煤,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凛辣,死亡現(xiàn)場離奇詭異抱既,居然都是意外死亡,警方通過查閱死者的電腦和手機扁誓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門防泵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蝗敢,你說我怎么就攤上這事捷泞。” “怎么了寿谴?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵锁右,是天一觀的道長。 經(jīng)常有香客問我,道長咏瑟,這世上最難降的妖魔是什么拂到? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮码泞,結(jié)果婚禮上兄旬,老公的妹妹穿的比我還像新娘。我一直安慰自己余寥,他們只是感情好领铐,可當我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宋舷,像睡著了一般罐孝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肥缔,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天莲兢,我揣著相機與錄音,去河邊找鬼续膳。 笑死改艇,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的坟岔。 我是一名探鬼主播谒兄,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼社付!你這毒婦竟也來了承疲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤鸥咖,失蹤者是張志新(化名)和其女友劉穎燕鸽,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體啼辣,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡啊研,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鸥拧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片党远。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖富弦,靈堂內(nèi)的尸體忽然破棺而出沟娱,到底是詐尸還是另有隱情,我是刑警寧澤腕柜,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布济似,位于F島的核電站矫废,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏碱屁。R本人自食惡果不足惜磷脯,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娩脾。 院中可真熱鬧赵誓,春花似錦、人聲如沸柿赊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碰声。三九已至诡蜓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間胰挑,已是汗流浹背蔓罚。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞻颂,地道東北人豺谈。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像贡这,于是被迫代替她去往敵國和親茬末。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,926評論 2 361