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建立了乙個物件,並將其賦值給乙個變數名,這個...