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