Python學習筆記 檔案讀寫

2021-07-27 14:26:16 字數 1947 閱讀 2949

參見網易雲課堂「瘋狂的python」第32課時

用python 來進行檔案處理,有何意義?自然首先想到的是可以查詢和更改檔案的屬性,分類和具體資訊。比如說分析log日誌,用正則查詢log裡所需要的內容。比如說寫個簡單的防毒軟體,或者做乙個檔案處理軟體等。

所涉及的內容如下:

1.檔案的開啟和建立

開啟需要用到file和open命令

比如說有乙個資料夾位於根目錄(/root)下(linux中檢視當前目錄用pwd命令),檔名為new.txt。

進入python互動模式,當需要開啟new.txt這個檔案時就需要用到以下命令:

f0=file(『/root/new.txt』)

f0=open(『/root/new.txt』)

f0.close

進一步的讀寫處理:

『r』——唯讀,用法為:

f0=open(『/root/new.txt』,』r』)

這裡檔案為唯讀模式,要檢視其內容輸入以下命令:

f0.read()

『r+』——讀寫,用法為:

f0=open(『/root/new.txt』,』r+』)

這裡檔案可讀可寫,但有個問題

假設new.txt中內容為字串』hello,world!』

進入python互動模式,第一種情況:

f0=open(『/root/new.txt』,』r+』)

f0.read()

hello,world! #輸出內容

f0.write(『hello,everyone!』)

f0.close #關閉檔案

f0=open(『/root/new.txt』) #再次開啟

f0.read()

hello,world!hello,everyone!#輸出內容

第二種情況:

對比可以看出,對於』r+』模式,先讀後寫與先寫後讀其輸出內容是不一致的,前者作用在內容末尾,後者作用在內容開頭,並替換掉開頭的內容。二者的差別就在於指標上,前者先做讀取操作時,完後指標已經指到內容末尾,於是寫入操作從末尾開始。後者先做寫入操作時,指標預設從檔案初始內容處開始,並替換掉初始內容。

『w』——寫入,用法為:

f0=open(『/root/new.txt』,』r+』)

f0.write(『good』)

f0.close

f0=open(『/root/new.txt』)

f0.read()

good #輸出內容

原目錄沒有case.txt,這裡新建了乙個case.txt檔案並寫入裡』good』字串,但這裡在寫入不能立馬讀取,否則會報錯,需要再開啟一次才行。

『w+』——可讀可寫模式,這之後可以匯入read()指令而不會像』w』那樣報錯,只不過寫入引數再read後返回值為空(未理解),但重新以』w+』模式開啟後可以直接read到內容。

『w』與』w+』共同點是會把原檔案刪除並寫入新的內容(若write前先read則從檔案末尾開始寫)

『a』與』a+』是』w』與』w+』的乙個公升級,二者自帶指標,而且都指向檔案末尾。

『b』比較特殊,比如匯入乙個,就需要』b』模式,否則會出錯。

『u』支援所有換行符號,不同的作業系統的換行符是不一樣的,該模式對這些系統的換行符號都可以支援。

python學習筆記 讀寫檔案

能呼叫方法的一定是物件,檔案也是物件 file open c users qwer desktop python.txt r r是讀操作,不能調取寫方法 w是寫操作,不能調取讀方法,先清空再寫,沒有檔案先建立檔案 a是在內容末尾游標處追擊內容 print file.read print file.r...

python學習筆記 檔案讀寫

上篇 就是把一些儲存存放起來,可以讓程式下一次執行的時候直接使用,而不必重新製作乙份,省時省力 python內建了乙個open 方法,用於對檔案進行讀寫操作。使用open 方法操作檔案就像把大象塞進冰箱一樣,可以分三步走,一是開啟檔案,二是操作檔案,三是關閉檔案。open 方法的返回值是乙個file...

Python學習筆記 檔案讀寫

關鍵字 open file,r,encoding 第乙個引數是檔案的路徑 第二個引數r 唯讀的意思 還有 a 在文字後面追加寫入 w 是寫文字 第三個引數是 指定檔案編碼 常用的有gbk utf 8編碼 後面呼叫write寫入字串到檔案中,open函式會使用指定encoding編碼為位元組串 後面呼...