Python 學習 第11篇:文件讀寫


Python的文件是一個重要的對象,使用open()函數來打開文件,創建文件對象,進行文件的讀寫操作。當數據用於交換信息時,通常需要把數據保存為有格式的文本數據,可以保存為有特定的行分隔符和列分隔符的數據,這可以使用pandas模塊中的函數來讀寫;也可以保存為json結構的數據,這可以使用json模塊中的函數來實現;對於大型的數據交互,通常使用數據庫。

 

Python基礎庫中open()函數用於打開文件,創建文件對象:

open(name, mode, encoding=None)

參數注釋:

name是文件名,包括路徑

encoding 是編碼方式,常用的編碼方式是utf-8

mode是打開文件的模式,最常用的模式是:

  • r:只讀模式,表示打開文件是為了從文件的開頭讀取文件中的數據;
  • w:只寫模式,表示打開文件是為了向文件寫入數據。如果該文件已存在,那么打開該文件,刪除原有的內容,從文件開頭開始寫入;如果該文件不存在,那么創建新的文件。
  • a:以只追加可寫模式打開文件,並將文件指針指向文件尾部;如果文件不存在則創建

open()函數創建一個file 對象,文件對象的主要方法:

  • file.read([size]):size 未指定則返回整個文件,如果文件大小 >2 倍內存則有問題,f.read()讀到文件尾時返回""(空字串)。
  • file.readline():只讀取一行。
  • file.readlines([size]) :返回包含size行的列表, size 未指定則返回全部行。
  • for line in f: print( line ):通過迭代器訪問。
  • f.write("hello\n"):如果要寫入字符串以外的數據,先將他轉換為字符串。
  • f.close() 關閉文件

1,讀取文件

調用open()函數打開一個文件,設置mode='r',表示打開文件是為了讀取文件中的數據,調用文件對象的函數或迭代器來逐行讀取數據:

file = open('test.txt','r',encoding='utf-8')
lines = [line.strip() for line in file] 
file.close()

注意:打開文件之后,完成文件的讀寫之后,必須調用文件對象的close()方法,最終關閉文件。

2,寫入文件

調用open()函數打開一個文件,如果設置mode='w',那么表示打開文件是為了向文件中寫入數據,調用文檔對象的write('content')函數向文檔中寫入內容。

file = open('test.txt','w',encoding='utf-8')
file.write('write content to file')
file.close()

注意:打開文件之后,完成文件的讀寫之后,必須調用文件對象的close()方法,最終關閉文件。

3,文件的關閉

調用open()函數打開一個文件,是把文件讀取到內存中的,如果不及時關閉文件,文件對象就會一直占用系統資源,除了調用文件對象的close()方法關閉文件之外,還可以使用 with open(),由系統自動關閉文件:

with open('test.txt','r',encoding='utf-8') as file:
    lines = [line.strip() for line in file] 

 

參考文檔:

Python之文件讀寫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM