Python筆記(*檔案輸入與輸出)
Python筆記(*檔案輸入與輸出)
檔案輸入與輸出:
open('路徑', '模式')
模式¶
- r : 讀取檔案,如果沒有檔案會發生錯誤
- w : 寫入內容,如果沒有檔案會自動產生
- x : 建立檔案
- a : 打開文件,並且在最後結尾繼續寫入資料
- t : 一般文字檔,default模式使用t
- b : 二進位模式,例如模式設定為rb,讀取圖片檔
寫入內容¶
write()
關閉檔案¶
try:
打開檔案
finally:
close()
For example:
try:
file = open('/Users/justin/python/demo.txt','w')
file.write("test1, test2 \n")
file.write('testA, testB \n')
finally:
file.close()
因為w : 寫入內容,如果沒有檔案會自動產生
所以他會自動產生,並在檔案內寫下那兩行,接著我在我的Users/justin/python中應該要看到demo.txt
而我也真的看到了。
讀取資料¶
read()
for迴圈讀取每一行資料
readlines()
try:
file = open('/Users/justin/python/demo.txt','w')
file.write("test1, test2 \n")
file.write('testA, testB \n')
finally:
file.close()
with open('/Users/justin/python/demo.txt', 'r') as f:#這裡的with是關鍵字,後面寫上要回傳的物件,然後透過關鍵字as傳給變數f,在
#冒號下方縮排的區塊,我們就不需再寫上finally and close(),如果在這個地方有發生錯誤,檔案物件也會被正確的關閉,只要物件支援
#「環境管理協定」,就可以使用with as這個語法,而這個物件必須實作__enter__()and __exit__(),所以使用這個with語法就不需要
# 再寫close了。
s = f.read();
print(s)#這樣可以將所有文字給印出來,我們也可以一行一行的處理
for line in f :
print ("line content : " + line)#line就是一行一行的意思
我們也可以將檔案內容轉為list型態,每一行字串,轉為list裡面的元素,使用readlines()
list = f.readlines()
print(list)
最後的輸出結果即為
留言
張貼留言