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()

 


免責聲明!

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



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