在Python中,讀取文件數(shù)據(jù)主要通過內(nèi)置的open()函數(shù)實現(xiàn),Python中讀取文件常用open()函數(shù),搭配with語句可自動管理資源。'r'表示只讀模式,encoding指定編碼,此方法簡潔且避免忘記關(guān)閉文件。在Python中,有多種方法可以讀取文件中的數(shù)據(jù),跟著小編一起詳細了解下吧。
一、python怎么讀取文件中的數(shù)據(jù)?
打開文件
使用open()函數(shù),指定文件路徑和模式:
pythonfile = open('example.txt', 'r', encoding='utf-8') # 推薦顯式指定編碼
讀取內(nèi)容
讀取全部內(nèi)容:read()
pythondata = file.read() # 返回字符串
逐行讀取:readline() 或 readlines()
pythonline = file.readline() # 讀取單行l(wèi)ines = file.readlines() # 返回列表,每行為一個元素
迭代讀取(推薦大文件):
pythonfor line in file:print(line.strip()) # 逐行處理
關(guān)閉文件
pythonfile.close() # 釋放資源
二、推薦用法:with語句
pythonwith open('example.txt', 'r', encoding='utf-8') as file:content = file.read() # 或逐行處理# 無需手動close(),代碼塊結(jié)束后自動關(guān)閉
三、常見模式與參數(shù)
模式描述
'r'只讀(默認)
'w'寫入(覆蓋原有內(nèi)容)
'a'追加(在文件末尾添加)
'b'二進制模式(如'rb'讀取圖片)
'+'讀寫模式(如'r+')
四、完整示例
示例1:讀取文本文件
pythonwith open('data.txt', 'r', encoding='utf-8') as f:for line in f:print(f"Line: {line.strip()}") # 去除行尾換行符
示例2:寫入文件
pythonwith open('output.txt', 'w', encoding='utf-8') as f:f.write("Hello, Python!\nSecond line.")
示例3:讀取CSV文件
pythonimport csvwith open('data.csv', 'r', encoding='utf-8') as f:reader = csv.reader(f)for row in reader:print(row) # 每行是一個列表
五、注意事項
文件路徑:建議使用絕對路徑或確保相對路徑正確。
異常處理:用try-except捕獲文件不存在等錯誤:
pythontry:with open('missing.txt', 'r') as f:print(f.read())except FileNotFoundError:print("文件不存在!")
大文件處理:避免直接read(),用逐行迭代或chunk分塊讀取。
在Python中讀取文件數(shù)據(jù)是一個常見的操作,通常包括打開文件、讀取文件內(nèi)容、處理數(shù)據(jù)和關(guān)閉文件幾個步驟。通過以上方法,可以靈活處理文本、二進制文件等不同需求。