今天是Andy學Python的第53 天哦!
大家好,我是Andy。
今天學習讀寫文件,主要適用於純文本文件。
純文本文件只包含基本文本字符,不包含字體、大小和顏色信息。如擴展名爲txt或py的文件,都是純文本文件。
在Python中,讀寫文件有3個步驟:
1. 調用open()函數,返回一個File對象。
2. 調用File對象的read()或write()方法。
3. 調用File對象的close()方法,關閉該文件。
開始之前,先建立一個1.txt,輸入以下內容:
Hello, World!
My name is Andy.
哈哈哈
我是京京爸爸。
01.
打開文件
open()函數返回一個 File 對象。
02.
讀取文件內容
使用 File 對象的 read()方法,返回文件內容的字符串值 。
f = open("C:\\Users\\Administrator\\111\\1.txt")
f_content = f.read()
f_content
輸出結果:
'Hello, World!\nMy name is Andy.\n哈哈哈\n我是京京爸爸。'
如果使用print()輸出文件內容,結果是這樣的:
f = open("C:\\Users\\Administrator\\111\\1.txt")
f_content = f.read()
print(f_content)
輸出結果:
Hello, World!
My name is Andy.
哈哈哈
我是京京爸爸。
03.
寫入文件
將'w'作爲第二個參數傳遞給 open(),以寫模式打開該文件。寫模式將覆寫原有的文件,類似用一個新值覆蓋一個變量的舊值。
將'a'作爲第二個參數傳遞給 open(),以追加模式打開該文件。追加模式將在已有文件的末尾添加文本。類似向一個變量列表末尾追加內容,而不是替代舊值。
如果傳遞給 open()的文件名不存在,寫模式和追加模式都會創建一個新的空文件。在讀取或寫入文件後,調用 close()方法,然後才能再次打開該文件。
f = open("C:\\Users\\Administrator\\111\\1.txt", "w")
f_content = f.write("I am in Changsha.")
f.close()
f = open("C:\\Users\\Administrator\\111\\1.txt", "a")
f.write("I teach myself Python.")
f.close()
f = open("C:\\Users\\Administrator\\111\\1.txt")
f_content = f.read()
f.close
print(f_content)
輸出結果:
I am in Changsha.I teach myself Python.
打開原1.txt文本文件,內容已更改。
# 利用寫模式與追加模式打開不存在的文件,創建文件並寫入內容
f = open("C:\\Users\\Administrator\\111\\5.txt", "w")
f_content = f.write("我要自學Python")
f.close()
f = open("C:\\Users\\Administrator\\111\\5.txt", "a")
f.write("\n我學習Python快兩個月了")
f.close()
f = open("C:\\Users\\Administrator\\111\\5.txt")
f_content = f.read()
f.close
print(f_content)
輸出結果:
我要自學Python
我學習Python快兩個月了
再打開文件夾,多了一個5.txt文件
04.
open() 訪問模式彙總
# r: 只讀(默認), 文件必須存在
# w: 只寫, 不可讀; 不存在則創建,存在則刪除文件內容
# a: 追加, 可讀, 不存在則創建,存在則追加內容
# +: 表示可以同時讀寫某個文件
# r+: 可讀寫文件,可追加
# w+:先寫再讀
05.
關閉文件
文件使用完畢後必須關閉,不然會報錯。
使用close()方法關閉文件。
每次文件操作都要使用close()太麻煩,在Python中有一種簡便方法:
with open("C:\\Users\\Administrator\\111\\1.txt",'r') as f:
print(f.read())
輸出結果:
I am in Changsha.I teach myself Python.
51Day Day up!
向上向善,日進一步!
每天學習,努力成長!
定個小目標,開啓成長的旅程,遇見更好的自己。
這是我們和自己的約定,許諾自己不負韶華。
路雖遠,行則將至;事雖難,做則必成。
成長的最好時機,就是當下。