Python如何操做文件?Python基礎教程,第十二講,文件讀寫

說到文件和流,是全部編程語言必學技能了,可見重要程度多有高。想一下咱們身邊有那些案例是程序操做文件?最多見的使用Atom打開一個文件,保存我寫的課件。Python項目中以文件的方式記錄日誌,包括咱們熟悉的操做數據庫,向數據庫裏插入一條數據,其實也是向文件內寫了一行數據,咱們看到視頻,上網瀏覽的網頁,都是對文件或者流的操做,這麼重要的功能,一塊兒好好學習一下吧!數據庫

學完這次課程,我能作什麼?

學完這次課程,咱們能夠對文件進行操做。編程

學習這次課程,須要多久?

10-15分鐘編程語言

課程內容

打開一個文件

f = open(name, [,mode [,buffering]])函數

若是文件正常打開,返回文件對象學習

若是文件不存在,報以下錯誤!命令行

打開模式

若是不指定任何模式,文件默認以只讀方式打開。3d

r:只讀模式(默認)日誌

w:寫模式cdn

a:追加模式視頻

+:讀寫模式

b:二進制模式,例如聲音,視頻,圖像等

小知識點1:在Linux下,換行符是 \n, 而在Windows下換行符是\r\n,在Mac下換行符是 \r,顯然很容易記混,至少我每次換行的時候還要去試,在Python中,替咱們考慮到這點,會自動根據平臺轉換,只須要記住換行使用「\n」換行了。

小知識點2:緩衝,open()函數的第三個參數是是否開啓緩衝,那緩衝的意義的是什麼?你們都知道,內存的速度比硬盤要快不少,若是沒有開啓緩衝,程序寫入文件時,會直接針對硬盤操做。若是開啓了緩衝,程序會把內容先寫到內存,只有使用flush()或者close()函數時,纔會將文件由內存寫入硬盤,這會讓程序的執行速度更快,因此記住打開緩衝。

那麼如何打開緩衝?

buffering = 0或者False 表示不開啓。

buffering = 1,-1,或者小於-1的數字表示開啓緩衝,緩衝區大小爲系統默認值。

buffering > 1 表示自定義緩衝區大小,單位是字節。

寫入文件

寫入文件使用write()方法,直接添加寫入內容就能夠了。

讀取文件

讀取文件內容使用read()函數,可選參數表示讀取字節數。當爲空時表示讀取所有內容。

指定讀取文件的位置

咱們可使用 seek(offset[,whence])來指定光標的位置,也就是說咱們能夠指定從文件中讀取哪一段字符,或者將光標移動到某個位置,替換他後面的字符。有沒有感受到頗有用?

tell() 函數,像他的名字同樣,告訴咱們光標所在的位置。

上面的Demo會輸出結果7,很簡單咱們將光標seek到5的位置,寫入了兩個字符hi,那麼如今光標的位置就是7。比較好理解吧?

readline() 函數,讀取一行

輸出結果爲:0123456

小結

經過本節課的學習,咱們掌握了很是重要的文件讀寫能力,建議你們認真練習一下。

接下來學習什麼?

以前的十二節課都對着命令行,是否是有些乏味?下一節課咱們將學習一下Python的界面庫,是否是很酷?像C++或者C#同樣強大,Python也能夠實現跨平臺的桌面應用程序。

關注公衆號,回覆 Python基礎 下載所有代碼+PDF版電子書

相關文章
相關標籤/搜索