使用python讀取文件內容
在計算機要操作文件的套路非常固定,一共包含三個步驟:
1.打開文件
2.讀、寫文件
- 讀:將文件內容讀入內存
- 寫:將內存內容寫入文件
3.關閉文件
在python中,操作文件記住一個函數和三個方法
函數/方法 | 說明 |
---|---|
open | 打開文件,並且返回文件操作對象 |
read | 將文件內容讀取到內存 |
write | 將指定內容寫入文件 |
close | 關閉文件 |
- open函數負責打開文件,並且返回文件對象
- read/write/close 三個方法都需要通過文件對象來調用
讀取文件
- open函數的第一個參數是要打開的文件名(文件名區分大小寫)若文件存在,返回文件操作對象,若文件不存在,會拋出異常
- read方法可以一次性讀入並返回文件的所有內容
- close方法負責關閉文件(注意要記得關閉文件)
- 若忘記關閉文件,會造成系統資源消耗,而且會影響到後續對文件的訪問
- 注意:方法執行後,會把文件指針移動到文件的末尾
下面我們就以一個文本文件README.txt做個例子:
首先,創建文本文件README.txt,其內容爲:
下面輸入代碼:
#1.打開文件
file = open("C:\Users\Admin\PycharmProjects\opp\README")
#若要打開的文件與此文件在同一個目錄下:可直接file = open("README")
#2.讀取文件內容
text = file.read()
print(text)
#3.關閉文件(很重要)
file.close()
執行結果如下:報錯了
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
什麼原因呢?
原因分析:在windows系統當中讀取文件路徑可以使用,但是在python字符串中\有轉義的含義,如\t可代表TAB,\n代表換行,所以我們需要採取一些方式使得\不被解讀爲轉義字符。目前有3個解決方案
1、在路徑前面加r,即保持字符原始值的意思。
file = open(r"C:\Users\Admin\PycharmProjects\opp\README")
2、替換爲雙反斜槓
file = open("C:\\Users\\Admin\\PycharmProjects\\opp\\README")
3、替換爲正斜槓
file = open("C:/Users/Admin/PycharmProjects/opp/README")
修改完成,最後運行結果如下:
可以看出讀取文件內容成功
打開文件的方式
- open函數默認以只讀方式打開文件,並且返回文件對象 ,所謂打開方式,就是在調用open函數時,傳遞的第二個參數
語法如下
f = open(“文件名”,“訪問方式”)