Day053|讀寫文件

今天是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!

向上向善,日進一步!

每天學習,努力成長!

定個小目標,開啓成長的旅程,遇見更好的自己。

這是我們和自己的約定,許諾自己不負韶華。

路雖遠,行則將至;事雖難,做則必成。

成長的最好時機,就是當下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章