很多時候Python程序的輸入/輸出是與用戶進行交互,從用戶那里使用input()等方法獲取輸入,并使用print()等方法打印一些結果
另外一個常用的輸入/輸出類型是處理文件,比如需要長期存儲程序中產生的數據或從文件中讀取大數據量的數據,因此創建、讀、寫文件是許多程序所必需的
1、文件讀取
想要讀取文件中的數據,首先需要先打開文件(文件已存在)
打開文件的命令很簡單:open()方法,需要將文件名作為參數傳遞
文件名可以是文件的完整路徑,也可以是相對路徑,如果不指定文件路徑,默認在程序代碼的相同路徑下
打開文件后,需要將文件內容保存在變量中才能去讀取,使用read()方法把文件的所有內容讀進一個字符串中
讀取完成后,記得使用close()關閉文件,釋放資源
讀取文件的方法還有:readline()讀取一行內容、readlines()把文件按行讀取到一個列表中
2、文件寫入
向文件中寫入數據,同樣也要使用open()方法先打開文件(注意:需要指定寫入模式,即將字符w作為第二個參數傳遞給file())
打開文件后可以使用write()方法寫入數據
write()方法的參數可以是一個字符串或字符串變量
除了write()方法,在文件寫入時,也可以使用writelines()方法將列表中的字符串分行寫入
文件打開模式:
r:只讀模式,也是默認模式? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
w:寫入模式,會將文件中原有的數據覆蓋掉,如果文件不存在,會自動創建文件
a:寫入模式,將新的內容追加到文件末尾? ? ? ??
x:創建一個新的文件并寫入,如果文件存在,則命令執行失敗
b:二進制模式,讀取的文件內容以字節返回? ? ?
t:文本模式,讀取的文件內容以字符串返回
+:打開文件進行更新(即可讀又可寫)
3、異常處理
在程序運行時,如果代碼引發了錯誤,Python就會中斷程序,并輸出錯誤提示,這樣的問題大家之前在編寫代碼的過程中經常碰到
當然這類問題可以避免,但是在實際的應用中,很多錯誤是編寫代碼的人員無法控制的,比如用戶輸入不合規定的數據或者需要打開的文件不存在,這些情況被稱作“異常”
一個好的程序需要能處理可能發生的異常,避免程序因此中斷,即希望程序執行過程中即使出現異常,程序也能正常的執行下去,這種情況下就需要用到Python中的異常處理
在Python中使用try…except語句來處理異常,具體做法是將可能引發異常的語句放到try塊中執行,當發生異常時,跳過try塊中剩余的語句,直接跳轉至except中的語句來處理異常
except語句也可以專門處理指定的異常,即在except語句后跟異常名稱,如果不指定異常名稱則表示處理所有異常
except語句可以處理特定的異常,而且在一個except語句塊可以處理多個類型的異常,如果是處理多個異常,要使用圓括號來括起來
如果不同類型的異常,程序的處理方式不相同,還可以使用多個except語句
在Python中使用try…except語句時,可以結合else來實現這種沒有發生的場景
finally語句表示最后,即無論是否發生異常都需要執行的語句塊(可以和try…except…else一起使用)
在Python中進行異常處理時,也可以使用raise語句主動引發異常,主動已發異常時可以指明異常類型