Python的檔案讀取操作
阿新 • • 發佈:2018-12-09
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)