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學習實例(二)採集無限滾動頁面

TAG:Python | Python入门 | Python教程 |