Python入門 文件讀取與寫入
Python中的文件是對象。
通過open() 打開一個文件,獲取一個文件對象,然後對文件進行讀寫操作,如下示例。
# 讀寫打開一個UTF-8編碼格式文件,如果文件不存在則創建nfile= open(rF:1.txt, mode=w+, encoding=UTF-8)n# open()打開一個文件,返回一個文件對象nfile.write(Hello!nWoodman) # 寫入文件nfile.seek(0) # 游標移動到文件開頭nfile_content = file.read() # 讀取整個文件內容nprint(file_content)nfile.close() # 關閉文件n
一、open()打開文件獲取文件對象
open() 函數參數說明
open(file, mode=r, buffering=None, encoding=None, errors=None, newline=None, closefd=True)
open()函數用於打開一個文件,創建一個 file 對象,改對象的相關的方法才可以被調用對文件進行讀寫。
file 文件的路徑,需要帶上文件名包括文件後綴(c:1.txt)
mode 打開的方式(r,w,a,x,b,t,r+,w+,a+,U)
buffering 緩衝的buffering大小, 0,就不會有寄存。1,寄存行。大於 1 的整數,寄存區的緩衝大小。負值,寄存區的緩衝大小為系統默認。
encoding 文件的編碼格式(utf-8,GBK等)
常用文件的打開模式(完整列表見附件)
r 以只讀方式打開文件。文件的指針會放在文件的開頭。
w 以寫入方式打開文件。文件存在覆蓋文件,文件不存在創建一個新文件。
a 以追加方式打開文件。如果文件已存在,文件指針放在文件末尾。如果文件不存在,創建新文件並可寫入。
r+ 打開一個文件用於讀寫。文件指針會放在文件的開頭
w+ 打開一個文件用於讀寫。文件存在覆蓋文件,文件不存在創建一個新文件。
a+ 打開一個文件用於讀寫。如果文件已存在,文件指針放在文件末尾。如果文件不存在,創建新文件並可寫入。
記憶方法:記住r讀,w寫,a追加,每個模式後加入+號就變成可讀寫。
file= open(rF:1.txt, mode=w, encoding=UTF-8)n
二、文件的讀取與寫入
文件讀取:
file.read([size]):讀取文件(讀取size個位元組,默認讀取全部)nfile.readline()):讀取一行nfile.readlines():讀取完整的文件,返回每一行所組成的列表n
本地目錄新建一個文件woodman.txt,文件內容如圖:
示例:
file = open(woodman.txt, encoding=utf-8)nprint(file.read(18)) # 讀取18個字元,注意中文字元一個字為1個字元nprint(-------)nprint(file.read()) # 讀取剩下的所有的文本,游標位置在上次讀取結束的位置nprint(-------)nfile.seek(0,0) # 移動游標到文件開頭nprint(file.readline()) # 讀取一行nprint(-------)nfile.seek(0,0) # 移動游標到文件開頭nprint(file.readlines()) # 讀取文件,返回每一行所組成的列表nfile.close() # 關閉文件n
輸出結果:
Hello, woodman.n你好n-------n!木頭人。n朋友們,大家好。n-------nHello, woodman.nn-------n[Hello, woodman.n, 你好!木頭人。n, 朋友們,大家好。]n
注意:文件讀取後游標停止在讀取結束的位置,file.seek(size) 將游標指針移動到文件的size位置。
文件寫入:
file.write(str):將字元串寫入文件
file.writelines(lines):將多行文本寫入文件中,lines為字元串組成的列表或元組
示例:
file = open(write_woodman.txt, mode=w, encoding=utf-8)nfile.write(hello,nwoodman) # 寫入文件,n 轉義字元換行nfile.write(n------------------n)nstr1 = 你好!n我是木頭人。nnfile.write(str1) # str1文本塊寫入文件,會安裝文本塊的格式nfile.write(n------------------n)nlist1 = [Python, 是一門解釋型語言n, python非常簡單]nfile.writelines(list1) # 寫入列表數據nfile.close() # 關閉文件n
運行程序後文件內容:
hello,nwoodmann------------------n你好!n我是木頭人。nn------------------nPython是一門解釋型語言npython非常簡單n
文件對象的其他方法:
file.seek(偏移量,[起始位置]): 用來移動文件指針.
偏移量:單位:比特,可正可負
起始位置:0-文件頭部,默認值;1-當前位置;2-文件結尾
file.tell():返回一個整數,表示當前文件指針的位置(就是到文件頭的比特數)
file.close(): 關閉文件
附件:
推薦閱讀:
※為什麼做django或者rails開發的都更傾向於用Linux系統?
※python you-get下載各類視頻初探
※linux如何高效的學習語言編程?
※Scrapy學習實例(二)採集無限滾動頁面