Python學習(十一)

2021-09-25 03:11:45 字數 4172 閱讀 8109

python open() 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。

注意:使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode)。格式:open(file, mode='r') 返回乙個file物件

mode 引數有:(藍色字型為常用模式

模式描述

t文字模式 (預設)。

x寫模式,新建乙個檔案,如果該檔案已存在則會報錯。

b二進位制模式。

+

開啟乙個檔案進行更新(可讀可寫)。

u通用換行模式(不推薦)。

r

以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

rbr+

開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

rb+w

開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wbw+

開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wb+a

開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

(注:預設為文字模式,如果要以二進位制模式開啟,加上 b 。)

file 物件使用 open 函式來建立,下表列出了 file 物件常用的函式:

序號方法及描述

1file.close()

關閉檔案。關閉後檔案不能再進行讀寫操作。

2

file.flush()

重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。

3

file.fileno()

返回乙個整型的檔案描述符(file descriptor fd 整型), 可以用在如os模組的read方法等一些底層操作上。

4

file.isatty()

如果檔案連線到乙個終端裝置返回 true,否則返回 false。

5

file.next()

python 3 中的 file 物件不支援 next() 方法。

返回檔案下一行。

6

file.read([size])

從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。

7

file.readline([size])

讀取整行,包括 "\n" 字元。

8

file.readlines([sizeint])

讀取所有行並返回列表,若給定sizeint>0,返回總和大約為sizeint位元組的行, 實際讀取值可能比 sizeint 較大, 因為需要填充緩衝區。

9

file.seek(offset[, whence])

設定檔案當前位置

10

file.tell()

返回檔案當前位置。

11

file.truncate([size])

從檔案的首行首字元開始截斷,截斷檔案為 size 個字元,無 size 表示從當前位置截斷;截斷之後後面的所有字元被刪除,其中 widnows 系統下的換行代表2個字元大小。

12

file.write(str)

將字串寫入檔案,返回的是寫入的字元長度。

13

file.writelines(sequence)

向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符。

python輸出值的方式:表示式語句print() 函式。格式化輸出:可以使用 str.format() 函式來格式化輸出值。

將所要輸出內容轉化成字串:str()和repr(),前者使用者宜讀後者直譯器宜讀。

字串物件的 rjust() 方法, 它可以將字串靠右, 並在左邊填充空格。

鍵盤輸入:input("提示內容")方法;

format方法的使用:

括號及其裡面的字元 (稱作格式化字段) 將會被 format() 中的引數替換。

在括號中的數字用於指向傳入物件在 format() 中的位置,如下所示:

>>> print(' 和 '.format('google', 'runoob'))

google 和 runoob

>>> print(' 和 '.format('google', 'runoob'))

runoob 和 google

如果在 format() 中使用了關鍵字引數, 那麼它們的值會指向使用該名字的引數。

>>> print('**: '.format(name='菜鳥教程', site='www.runoob.com'))

菜鳥教程**: www.runoob.com

位置及關鍵字引數可以任意的結合:

>>> print('站點列表 , , 和 。'.format('google', 'runoob', other='taobao'))

站點列表 google, runoob, 和 taobao。

丟擲異常:使用 raise 語句丟擲乙個指定的異常。 如:raise.nameerror('error')

異常的處理:使用try-except-finally語句,except用於捕獲try中錯誤或異常型別。

try:    #try-except語句的語法格式

pass

except runtimeerror, typeerror, nameerror:

pass #可以有多個except語句

finally:

pass #不管 try 子句裡面有沒有發生異常,finally 子句都會執行。

例如(檔案的開啟):with open('檔名') as f:

Python學習十一

最簡單的輸出方法是用print語句,你可以給它傳遞零個或多個用逗號隔開的表示式。此函式把你傳遞的表示式轉換成乙個字串表示式,並將結果寫到標準輸出如下 usr bin python coding utf 8 print python 是乙個非常棒的語言,不是嗎?你的標準螢幕上會產生以下結果 pytho...

Python學習 十一 異常

一 定義 python用異常物件來表示異常情況。遇到錯誤後,會引發異常,如果異常物件並沒有被處理或者捕捉,程式就會用所謂的回溯 traceback 終止執行。每個異常都是一些類的例項,這些例項可以被引發,並且可以用很多方法進行捕捉。二 raise語句引發異常 raise exception trac...

Python學習筆記(十一) Python函式

以mark lutz著的 python學習手冊 為教程,每天花1個小時左右時間學習,爭取兩周完成。寫在前面的話 2013 7 21 22 00 學習筆記 1,def是python中的乙個可執行語句 函式並不存在,直到python執行了def後才存在。def建立了乙個物件,並將其賦值給乙個變數名,這個...