python open 關於讀、寫、追加的總結

原文鏈接

# -*- coding: utf-8 -*-

# 測試文件名爲:
# text.txt
# 測試文件內容爲:
# abcdefg
# 每次操作後將文件復原

# r
# 以只讀方式打開文件,文件不可寫
# 要打開的文件不存在時會報錯
# 文件的指針將會放在文件的開頭
# 這是默認模式
# # file = open('test.txt', 'r')
# # FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
# file = open('text.txt', 'r')
# print(file.read())
# # abcdefg
# file.write('aaa')
# # io.UnsupportedOperation: not writable
# file.close()

# rb
# 以二進制格式打開一個文件用於只讀,文件不可寫
# 要打開的文件不存在時會報錯
# 文件指針將會放在文件的開頭
# 這是默認模式
# # file = open('test.txt', 'rb')
# # FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
# file = open('text.txt','rb')
# print(file.read())
# b'abcdefg'
# # file.write(b'aaa')
# # io.UnsupportedOperation: not writable
# file.close()

# r+
# 打開一個文件用於讀寫,寫入內容爲str
# 文件指針將會放在文件的開頭
# 重新寫入的內容從頭開始替換
# file = open('text.txt', 'r+')
# file.write('aaa')
# file.close()
# file = open('text.txt','r')
# print(file.read())
# # 'abcdefg'
# file.close()

# rb+
# 以二進制格式打開一個文件用於讀寫,寫入內容爲bytes
# 文件指針將會放在文件的開頭
# 重新寫入的內容從頭開始替換
# file = open('text.txt','rb+')
# # file.write('aaa')
# # TypeError: a bytes-like object is required, not 'str'
# file.write(b'aaa')
# file.close()
# file = open('text.txt','rb')
# print(file.read())
# # b'aaadefg'
# file.close()

# w
# 打開一個文件只用於寫入,寫入內容爲str
# 文件不可讀
# 如果該文件已存在則將其覆蓋,原文件內容將清空
# 如果該文件不存在,創建新文件
# file = open('test.txt', 'w')
# 創建一個空文件
# file = open('text.txt', 'w')
# file.write('gfedcba')
# file = open('text.txt', 'r')
# print(file.read())
# file.close()

# wb
# 以二進制格式打開一個文件只用於寫入,寫入內容爲bytes
# 文件不可讀
# 如果該文件已存在則將其覆蓋,原文件內容將清空
# 如果該文件不存在,創建新文件
# file = open('test.txt', 'wb')
# 創建一個空文件
# file = open('text.txt', 'wb')
# file.write(b'gfedcba')
# file = open('text.txt', 'r')
# print(file.read())
# file.close()

# w+
# 打開一個文件用於讀寫,寫入內容爲str
# 如果該文件已存在則將其覆蓋,原文件內容將清空
# 如果該文件不存在,創建新文件
# file = open('test.txt', 'w+')
# 創建一個空文件
# file = open('text.txt', 'w+')
# file.write('gfedcba')
# file = open('text.txt', 'r')
# print(file.read())
# file.close()

# wb+
# 以二進制格式打開一個文件用於讀寫,寫入內容爲bytes
# 如果該文件已存在則將其覆蓋
# 如果該文件不存在,創建新文件
# file = open('text.txt', 'wb+')
# file.write(b'gfedcba')
# file = open('text.txt', 'r')
# print(file.read())
# file.close()

# a
# 打開一個文件用於追加(只寫),寫入內容爲str
# 如果該文件已存在,文件指針將會放在文件的結尾,新的內容將會被寫入到已有內容之後
# 如果該文件不存在,創建新文件進行寫入
# file = open('test.txt', 'a')
# 創建一個空文件
# file = open('text.txt', 'a')
# file.write('aaa')
# file.close()
# file = open('text.txt')
# print(file.read())
# file.close()

# ab
# 以二進制格式打開一個文件用於追加(只寫),寫入內容爲bytes
# 如果該文件已存在,文件指針將會放在文件的結尾,新的內容將會被寫入到已有內容之後
# 如果該文件不存在,創建新文件進行寫入
# file = open('test.txt', 'ab')
# 創建一個空文件
# file = open('text.txt', 'ab')
# file.write(b'aaa')
# file.close()
# file = open('text.txt')
# print(file.read())
# file.close()

# a+
# 打開一個文件用於追加(讀寫),寫入內容爲str
# 如果該文件已存在,文件指針將會放在文件的結尾,新的內容將會被寫入到已有內容之後
# 如果該文件不存在,創建新文件用於讀寫
# file = open('test.txt', 'a+')
# 創建一個空文件
# file = open('text.txt', 'a+')
# file.write('aaa')
# file.close()
# file = open('text.txt')
# print(file.read())
# file.close()

# ab+
# 以二進制格式打開一個文件用於追加(讀寫),寫入內容爲bytes
# 如果該文件已存在,文件指針將會放在文件的結尾,新的內容將會被寫入到已有內容之後
# 如果該文件不存在,創建新文件用於讀寫
# file = open('text.txt', 'ab+')
# file.write(b'aaa')
# file.close()
# file = open('text.txt')
# print(file.read())
# file.close()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章