91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中各種文件打開模式的示例分析

發布時間:2021-06-17 14:26:50 來源:億速云 閱讀:160 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關python中各種文件打開模式的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在python中,總的來說有三種大的模式打開文件,分別是:a, w, r

當以a模式打開時,只能寫文件,而且是在文件末尾添加內容。

當以a+模式打開時,可以寫文件,也可讀文件,可是在讀文件的時候,會發現讀出來的數據為空,是因為a+模式是在文件末尾添加內容,所以其指針已經指到了文件末尾,所以讀出來的數據就是空的。

# 在文件末尾添加數據
f = open('test.txt','a+')
f.write('test')
f.close()
# 讀出數據為空
f = open('test.txt','a+')
print(f.read())
# 讀出數據
f = open('test.txt','a+')
f.seek(0) # 將指針移動到首個字符前
print(f.read())

當以w模式打開時,只能寫文件,而且會直接將之前的數據給丟失。

當以w+模式,可讀可寫,但是如果想讀取的內容的話,只能在寫內容的時候,同時讀取其中的內容,相當于只能讀取出你剛剛寫入的內容,沒有意義

f = open('test.txt', 'w+')
f.write('我不會喜歡你')
f.seek(0)
print(f.read())
f.close()

當以r模式打開文件時,只能讀取文件。

當以r+模式打開文件時,可讀可寫文件。如果是讀取文件,會從首個字符開始讀取數據,如果是以該模式打開文件,就寫數據,則會從首個字符開始寫,并一個一個字符的向后面覆蓋。如果想從末尾添加內容,則可先read()然后在向其中添加數據。

# 第一次寫入內容
f = open('test.txt', 'r+')
f.write('我不會喜歡你') # 內容為:我不會喜歡你
f.close()
# 第二次寫入
f = open('test.txt', 'r+')
f.write('其實我')
f.close()   # 內容為: 其實我喜歡你

# 第三次寫入
f = open('test.txt', 'r+')
print(f.read())  # 內容為: 其實我喜歡你
f.write(', I love you')
f.close() # 內容為: 其實我喜歡你, I love you

自我感覺r+模式可以多加應用。

ps:下面看下python文件打開的幾種訪問模式

訪問模式說明
r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。
w打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
a打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。
rb以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認模式。
wb以二進制格式打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
ab以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。
r+打開一個文件用于讀寫。文件指針將會放在文件的開頭。
w+打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
a+打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用于讀寫。
rb+以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。
wb+以二進制格式打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
ab+以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用于讀寫。

關于“python中各種文件打開模式的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万盛区| 辛集市| 万年县| 浪卡子县| 习水县| 衡水市| 中西区| 临安市| 壤塘县| 松溪县| 苏尼特左旗| 淮阳县| 民乐县| 礼泉县| 阜宁县| 中山市| 岳池县| 图木舒克市| 临泉县| 南昌县| 图们市| 钦州市| 额敏县| 三原县| 南木林县| 秦安县| 确山县| 林芝县| 察哈| 象州县| 铁岭市| 盐山县| 莱西市| 武安市| 绵阳市| 泰和县| 芦山县| 芮城县| 宁津县| 湾仔区| 承德市|