python教程:文件读写
Python的文件是一個重要的對象,使用open()函數(shù)來打開文件,創(chuàng)建文件對象,進行文件的讀寫操作。當數(shù)據(jù)用于交換信息時,通常需要把數(shù)據(jù)保存為有格式的文本數(shù)據(jù),可以保存為有特定的行分隔符和列分隔符的數(shù)據(jù),這可以使用pandas模塊中的函數(shù)來讀寫;也可以保存為json結構的數(shù)據(jù),這可以使用json模塊中的函數(shù)來實現(xiàn);對于大型的數(shù)據(jù)交互,通常使用數(shù)據(jù)庫。
Python基礎庫中open()函數(shù)用于打開文件,創(chuàng)建文件對象:
open(name, mode, encoding=None)參數(shù)注釋:
name是文件名,包括路徑
encoding 是編碼方式,常用的編碼方式是utf-8
mode是打開文件的模式,最常用的模式是:
- r:只讀模式,表示打開文件是為了從文件的開頭讀取文件中的數(shù)據(jù);
- w:只寫模式,表示打開文件是為了向文件寫入數(shù)據(jù)。如果該文件已存在,那么打開該文件,刪除原有的內(nèi)容,從文件開頭開始寫入;如果該文件不存在,那么創(chuàng)建新的文件。
- a:以只追加可寫模式打開文件,并將文件指針指向文件尾部;如果文件不存在則創(chuàng)建
open()函數(shù)創(chuàng)建一個file 對象,文件對象的主要方法:
- file.read([size]):size 未指定則返回整個文件,如果文件大小 >2 倍內(nèi)存則有問題,f.read()讀到文件尾時返回""(空字串)。
- file.readline():只讀取一行。
- file.readlines([size]) :返回包含size行的列表, size 未指定則返回全部行。
- for line in f: print( line ):通過迭代器訪問。
- f.write(“hello\n”):如果要寫入字符串以外的數(shù)據(jù),先將他轉(zhuǎn)換為字符串。
f.close() 關閉文件
1,讀取文件
調(diào)用open()函數(shù)打開一個文件,設置mode=‘r’,表示打開文件是為了讀取文件中的數(shù)據(jù),調(diào)用文件對象的函數(shù)或迭代器來逐行讀取數(shù)據(jù):
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' file = open('test.txt','r',encoding='utf-8') lines = [line.strip() for line in file] file.close()注意:打開文件之后,完成文件的讀寫之后,必須調(diào)用文件對象的close()方法,最終關閉文件。
2,寫入文件
調(diào)用open()函數(shù)打開一個文件,如果設置mode=‘w’,那么表示打開文件是為了向文件中寫入數(shù)據(jù),調(diào)用文檔對象的write(‘content’)函數(shù)向文檔中寫入內(nèi)容。
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' file = open('test.txt','w',encoding='utf-8') file.write('write content to file') file.close()注意:打開文件之后,完成文件的讀寫之后,必須調(diào)用文件對象的close()方法,最終關閉文件。
3,文件的關閉
調(diào)用open()函數(shù)打開一個文件,是把文件讀取到內(nèi)存中的,如果不及時關閉文件,文件對象就會一直占用系統(tǒng)資源,除了調(diào)用文件對象的close()方法關閉文件之外,還可以使用 with open(),由系統(tǒng)自動關閉文件:
with open('test.txt','r',encoding='utf-8') as file:lines = [line.strip() for line in file]總結
以上是生活随笔為你收集整理的python教程:文件读写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python命名元组
- 下一篇: python中使用for循环,while