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+模式可以多加應用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM