Pythonopen讀和寫

hank_leo發表於2018-09-01
# -*- 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()

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

知識在於點滴積累


相關文章