Python小記--檔案讀寫簡潔方案
普通檔案讀寫方案
在一般語言的檔案讀寫中,java或是c#,讀寫操作都是按照以下邏輯:
- 建立連線物件
- 迴圈讀取(或寫入)
- 關閉連線
除了正常流程以外,起碼要考慮兩件事:第一,考慮檔案是否存在、是否會發生I/O錯誤,需要去捕獲異常;第二,考慮系統緩衝區重新整理問題,需要去手動flush()和關閉檔案流。
所以,使用以上思路去用python複製一個檔案,最簡單也需要以下程式碼:
try:
read = open('C:/gogogo/DataSyncClient.java', 'r')
write = open('C:/gogogo/DataSyncClientCopy.java' , 'w')
for line in read.readlines():
write.write(line)
except Exception as e:
print('error:', e)
finally:
if read:
read.close()
if write:
write.close()
Python提供的讀寫方案
Python提供了一種捷徑,使用with語法便可以做到統籌兼顧,直接上程式碼:
with open('C:/gogogo/DataSyncClient.java', 'r') as f:
with open('C:/gogogo/DataSyncClient3.java', 'w') as w:
for line in f.readlines():
print(line)
w.write(line.strip())
以上做法將讀和寫糅合了起來,完全可以分開來使用。
小結:
對檔案讀寫來說使用with語法非常方便,包含了try…except..finally又幫助程式自動重新整理緩衝區、關閉檔案流。大大降低了程式碼量。
記錄於2017年8月14日20:51:28,輝煌時代