打開文件用open,該函數(shù)創(chuàng)建一個文件對象,這將用來調(diào)用與之關(guān)聯(lián)的其他支持方式。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、西華網(wǎng)站維護、網(wǎng)站推廣。file object = open(file_name [, access_mode][, buffering])
下面是參數(shù)的詳細信息:
file_name: file_name參數(shù)是一個字符串值,包含您要訪問的文件的名稱。
access_mode: access_mode決定了文件必須被打開,即,讀,寫,追加等的可能值是下表中給定的一個完整的列表的模式。這是可選參數(shù),默認文件存取方式為read (r)。
buffering: 如果緩沖值被設(shè)置為0時,沒有緩沖將發(fā)生。如果該緩沖值是1,行緩沖會在訪問一個文件來執(zhí)行。如果指定的緩沖值為大于1的整數(shù),則緩沖作用將與所指示的緩沖區(qū)的大小進行。如果為負,則緩沖區(qū)的大小是系統(tǒng)默認(默認行為)。
這里是打開一個文件的不同模式的列表:
模式 | 描述 |
---|---|
r | 打開一個文件為只讀。文件指針置于該文件的開頭。這是默認模式。 |
rb | 打開一個文件只能以二進制格式讀取。文件指針置于該文件的開頭。這是默認模式。 |
r+ | 打開用于讀取和寫入文件。文件指針將會在文件的開頭。 |
rb+ | 打開用于讀取和寫入二進制格式的文件。文件指針將會在文件的開頭。 |
w | 打開一個文件只寫。覆蓋該文件,如果該文件存在。如果該文件不存在,則創(chuàng)建用于寫入一個新的文件。 |
wb | 打開一個文件只能以二進制格式寫入。覆蓋該文件,如果該文件存在。如果該文件不存在,則創(chuàng)建用于寫入一個新的文件。 |
w+ | 打開用于寫入和讀取的文件。覆蓋現(xiàn)有的文件,如果文件存在。如果該文件不存在,則創(chuàng)建讀取和寫入新的文件。 |
wb+ | 打開用于寫入和讀取的二進制格式的文件。覆蓋現(xiàn)有的文件,如果文件存在。如果該文件不存在,則創(chuàng)建讀取和寫入新的文件。 |
a | 將打開追加文件。文件指針是在文件的結(jié)尾。也就是說,該文件是在附加模式。如果該文件不存在,它創(chuàng)造了寫入一個新的文件。 |
ab | 將打開追加的二進制格式的文件。文件指針在該文件的結(jié)束。也就是說,該文件為追加模式。如果該文件不存在,它創(chuàng)建并寫入一個新的文件。 |
a+ | 打開為追加和讀取文件。文件指針在該文件的結(jié)束。該文件將為追加模式。如果該文件不存在,它創(chuàng)建并讀取和寫入的新文件。 |
ab+ | 打開兩個追加和讀取的二進制格式的文件。文件指針在該文件的結(jié)束。該文件將在追加模式。如果該文件不存在,它創(chuàng)建并讀取和寫入的新文件。 |
關(guān)閉文件用close:
一個文件對象的close()方法刷新未寫入的信息,并關(guān)閉該文件的對象,在這之后沒有數(shù)據(jù)內(nèi)容可以執(zhí)行寫入。
寫入文件用write:
write()方法寫入字符串到任何一個打開的文件。要注意的是Python字符串可以具有二進制數(shù)據(jù),而不僅僅是文字。
讀取文件用read:
read()方法讀取一個打開的文件的字符串。要注意的是Python字符串可以具有二進制數(shù)據(jù),而不僅僅是文本。
需要注意的是:由于緩沖,字符串可能實際上沒有出現(xiàn)在該文件中,直到調(diào)用flush()或close()方法被調(diào)用.
一般的文件流操作都包含緩沖機制,write方法并不直接將數(shù)據(jù)寫入文件,而是先寫入內(nèi)存中特定的緩沖區(qū)。
flush方法是用來刷新緩沖區(qū)的,即將緩沖區(qū)中的數(shù)據(jù)立刻寫入文件,同時清空緩沖區(qū)。
正常情況下緩沖區(qū)滿時,操作系統(tǒng)會自動將緩沖數(shù)據(jù)寫入到文件中。
至于close方法,原理是內(nèi)部先調(diào)用flush方法來刷新緩沖區(qū),再執(zhí)行關(guān)閉操作,這樣即使緩沖區(qū)數(shù)據(jù)未滿也能保證數(shù)據(jù)的完整性。
如果進程意外退出或正常退出時而未執(zhí)行文件的close方法,緩沖區(qū)中的內(nèi)容將會丟失。
以上這篇python讀寫文件write和flush的實現(xiàn)方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。