杭州Python學習入門之檔案讀寫操作

2021-10-03 21:10:45 字數 1811 閱讀 2263

python是隨著人工智慧時代的來臨而火爆起來的程式語言,入門簡單、功能強大,吸引了人們的廣泛學習加入。想要學好python,一定要從基礎學起,然後高階深入學習,今天給大家分享杭州python入門教程中檔案處理的讀、寫操作。

注意,在python中,不需要匯入外部庫來讀取和寫入檔案,因為python為建立、寫入和讀取檔案提供了內建的函式。

讀檔案開啟乙個檔案用open()方法(open()返回乙個檔案物件,它是可迭代的):

f = open(『test.txt』, 『r』)

r表示是文字檔案,rb是二進位制檔案(這個mode引數預設值就是r)。如果檔案不存在,open()函式就會丟擲乙個ioerror的錯誤,並且給出錯誤碼和詳細的資訊告訴你檔案不存在。

檔案使用完畢後必須關閉,因為檔案物件會占用作業系統的資源,並且作業系統同一時間能開啟的檔案數量也是有限的。

f.close()

由於檔案讀寫時都有可能產生ioerror,一旦出錯,後面的f.close()就不會呼叫。所以為了保證無論是否出錯都能正確地關閉檔案,我們可以使用try … finally來實現。

python檔案物件提供了三個「讀」方法: read()、readline() 和readlines()。每種方法可以接受乙個變數以限制每次讀取的資料量。

read() 每次讀取整個檔案,它通常用於將檔案內容放到乙個字串變數中。如果檔案大於可用記憶體,為了保險起見,可以反覆呼叫read(size)方法,每次最多讀取size個位元組的內容。

readlines() 之間的差異是後者一次讀取整個檔案,像.read() 一樣。.readlines() 自動將檔案內容分析成乙個行的列表,該列表可以由 python的for … in …結構進行處理。

readline() 每次只讀取一行,通常比readlines() 慢得多。僅當沒有足夠記憶體可以一次讀取整個檔案時,才應該使用readline()。

寫檔案寫檔案和讀檔案是一樣的,唯一區別是呼叫open()函式時,傳入識別符號』w』或者』wb』表示寫文字檔案或寫二進位制檔案:

f = open(『test.txt』, 『w』) # 若是』wb』就表示寫二進位制檔案

f.write(『hello, world!』)

f.close()

我們可以反覆呼叫write()來寫入檔案,但是務必要呼叫f.close()來關閉檔案。忘記呼叫close()的後果是資料可能只寫了一部分到磁碟,剩下的丟失了。因此還是用with語句來得保險:

with open(『test.txt』, 『w』) as f:

f.write(『hello, world!』)

python檔案物件提供了兩個「寫」方法:write()和writelines()。

write()方法和read()、readline()方法對應,是將字串寫入到檔案中。

writelines()方法和readlines()方法對應,也是針對列表的操作。它接收乙個字串列表作為引數,將他們寫入到檔案中,換行符不會自動的加入,因此,需要顯式的加入換行符。

檔案處理的型別:

只要處理型別加上b(bytes),表示只這樣操作(一般不知道寫入編碼的時候用);

『r』(讀) :讀取出來的內容為字串型別;

『rb』(唯讀):以二進位制的方式讀取;

』r+『(可讀寫):以讀的方式開啟,支援寫入;

『w』(寫入) :建立新內容,覆蓋舊內容;

'w+』(寫讀):以建立的模式開啟,支援讀取;

讀寫和寫讀指標都會停在最後(讀寫,不可讀取剛寫內容,寫讀:可以讀取剛寫的內容)。

Python學習入門之檔案讀寫

在同乙個資料夾中,包含乙個pi digits.txt檔案,下面用程式開啟並讀取這個檔案,再將其內容顯示在螢幕上 file name pi digits.txt with open file name as file object 開啟檔案並賦值給file object變數 contents file...

Python入門學習 pyc檔案

執行login庫檔案時產生了login.cpython 36.pyc 當python程式執行時,編譯的結果則是儲存在位於記憶體中的pycodeobject中,當python程式執行結束時,python直譯器則將pycodeobject寫回到pyc檔案中。當python程式第二次執行時,首先程式會在硬...

Python之深度學習入門

1 python語言的特點 是乙個簡單 易讀 易記的程式語言,而且是開源的,可以自由使用,可以用類似英語的語法編寫程式,編譯起來並不費力,此外,python不僅可以寫出可讀性高的 還可以寫出效能高 處理速度快 的 在需要處理大規模資料或者要求快速響應的情況下可以穩妥完成。2 學習深度學習主要使用的外...