1. 程式人生 > >Python的檔案讀取操作

Python的檔案讀取操作

open函式負責開啟檔案,裡面的第一個引數必須要有:檔案的路徑和名稱。第二個引數是操作方法:

r:以只讀方式開啟

w:寫方式開啟,會覆蓋以前的內容

x:建立方式開啟,如果檔案已經存在,報錯

a:append方式,以追加的方式對檔案內容進行寫入

b:binary方式,以二進位制方式寫入

t:文字方式開啟

f = open(r"text.txt", "w")   #寫的方式開啟
f.close()      #開啟後必須得關閉

這裡以寫的方式開啟,但是我們沒有寫入東西進去,用這個方式建立檔案後,一定要把它close掉。

我們推薦使用with語句,因為它會自動關閉檔案,不需要我們手動關閉,所以很方便:

我們先在自己的資料夾裡面建立一個txt文件,寫上:

假若他日相逢
我將何以賀你
以沉默
以眼淚

接著以檔案讀取的方式進行操作:

with open("text.txt", "r") as f:
    strline = f.readline() #readline是按行讀取內容
    while strline:   #只要strline裡面的內容不為空,就一直讀取
        print(strline)   #列印strline裡面的內容
        strline = f.readline()  #沒有後返回一個空。跳出迴圈

一行一行的讀取,讀取完畢後跳出迴圈。

import time

with open(r"text.txt", "r") as f:
    strChar = f.read(3)  #三個字串一組讀取內容,然後顯示在螢幕上,每讀一次,休息一秒鐘
    while strChar:
        print(strChar)
        time.sleep(1)
        strChar = f.read(3)

這也是一個景點的案例,每三個字串一組,三個字三個字的讀取文件裡面的內容。

關於檔案的寫操作---write

write(str):把字串寫入檔案,只能是字串

writelines(str):把字串按行寫入寫入檔案,可以是字串,可以是字元序列,列表

with open(r"text.txt", "a") as f:  #以追加的方式寫入
    f.write("生活不僅眼前的苟且\n還有詩和遠方的田野")
with open(r"text.txt", "a") as f:
    f.writelines("生活不僅眼前的苟且")
    f.writelines("還有遠方的苟且")

這裡就是一行行的寫入-------------------------------------------

序列化:pickle案列  pickle.dump:序列化。pickle.load反序列化

pickle.dump:把執行的東西存入磁碟

pickle.load:把磁碟的東西讀取出來

import pickle
age = 19
with open(r"text01.txt", "wb") as f:  #wb寫入二進位制檔案,就是把19轉換成二進位制寫入
    pickle.dump(age,f)
import pickle
age = 19
with open(r"text01.txt", "rb") as f:  #rb讀取二進位制檔案
    age = pickle.load(f)
    print(age)