python:檔案的輸入與輸出

煙雨花落發表於2020-12-12

上一個文章分享了命令列引數的用法,因為今天週末,於是想把檔案的輸入與輸出整理一下
一.檔案物件和open()函式
內建函式open()用於開啟或建立檔案物件,語法格式如下:

f=open(file,mode=‘r’,buffering=-1,encoding=None)

file是要開啟或者建立的檔名,如果檔案不在當前路徑,需指出具體路徑;mode為開啟檔案的模式;
buffering表示是否使用快取(預設值為-1,表示使用系統預設的快取大小);encoding是檔案的編碼。open()函式返回一個檔案物件f.
在使用open是可以指定開啟檔案的模式'r'只讀'w'寫入,刪除之前的內容'x'建立檔案,若存在,則會導致FileExistsError等,最後面會詳解。
在寫程式碼之前,我們先建立檔案(至關重要的步驟!)
1 .開啟一個硬碟(不推薦C盤),建立一個檔案(儘量簡短)

在這裡插入圖片描述
我是在G盤建立了一個檔案~

2.開啟檔案,然後開啟記事本在裡面隨便寫點內容

在這裡插入圖片描述
我給的檔名是qq,從簡嘛
3.然後將這個檔案拖到stan資料夾中
在這裡插入圖片描述
萬事俱備,只欠程式碼了,開搞!

file_a=open('g:/stan/qq.txt','r')
a=file_a.read()
print(a)
file_a.close()

執行結果為

#hello,world!!

也就是我們剛才寫的內容,還是比較簡單的
但是在檔案操作時容易產生異常,而且最後需要關閉檔案(file_a.close()),故一般用try…except…finally語句,在try語句塊中執行檔案的相關操作,使用except捕獲可能發生的異常,在finally語句中確保關閉開啟的檔案。

try:
    lisi=open('g:/stan/qq.txt','r')
except:
    print('出錯啦!!')
finally:
    a=lisi.read()
    print(a)
    lisi.close()

為了簡化操作,python語言中與資源相關的物件可以實現上下文管理協議。也就是會用到with語句

with content [as var]

在執行with語句時,首先呼叫上下文物件context的__enter__(),其返回值賦給var;離開with語句塊時,最後呼叫context的__exit__(),確保釋放資源。
檔案獨享支援使用with語句,確保開啟的檔案自動關閉。

with open(file,mode) as f :

上程式碼演示,上面的栗子的變式

with open('g:/stan/qq.txt','r') as f:
    for i in f :
        print(i)
f.close()

分享完畢,後續我會加入更多關於檔案的寫入讀取的內容

相關文章