character
meaning
『r』open for reading (default)
『w』open for writing, truncating the file first
『a』『b』
binary mode
『t』text mode (default)
『+』open a disk file for updating (reading and writing)
『u』universal newline mode (for backwards compatibility; should not be used in new code) 模式
描述rt
讀取文字,預設模式
rb讀取二進位制資料
wt寫入文字
wb寫入二進位制
r+不清空原檔案,讀寫
w+清空原檔案,並讀寫
a+在檔案末尾讀寫
首先在左面新建乙個」abc.txt」的檔案,檔案的內容入如下:
ilove
csdn
唯讀模式(預設模式)
>>>>f=open("c:/users/administrator/desktop/abc.txt","r")
>>>>print(f.read())
ilove
csdn
>>>>f.close()
寫入模式
>>>>f=open("c:/users/administrator/desktop/abc.txt","w")
>>>>f.write("test")
>>>>f.close()
輸出的結果是:
test
在使用」w」模式時,python會把原來的檔案給覆蓋掉,形成新的檔案,這裡注意如果寫入的檔案不存在,python會自動新建乙個檔案。
追加模式
>>>>f=open("c:/users/administrator/desktop/abc.txt","a")
>>>>f.write("test")
>>>>f.close()
輸出的結果是:
ilove
csdntest
另外我們還可以設定讀取和寫入的方式:
以二進位制方式讀取:
>>>>f=open("c:/users/administrator/desktop/abc.txt","rb")
>>>>print(f.read())
>>>>f.close()
b'i\r\nlove\r\ncsdn'
import re
with open("c:/users/administrator/desktop/abc.txt","r",encoding="utf-8") as f:
text=f.read()
text=re.sub(r"in \[.*\]:\n","[in]:",text)
text=re.sub(r"out\[.*\]:","[out]:",text)
with open("c:/users/administrator/desktop/abc.txt","w",encoding="utf-8") as f:
f.write(text)
將乙個gbk檔案轉碼為utf8檔案.注意r
,w
模式只能開啟一種,所以encoding
就確保了是編碼還是解碼,在r
的模式下encoding
做的是decode,而在w
模式下encoding
做的是encode
.如果使用r+
或者w+
則encoding
既做decode
又做encode
,而且decode
和encode
編碼相同.
gbk = open("./gbk.txt", "r", encoding = "gbk")
gbk_text = gbk.read()
gbk.close()
utf = open("./gbk.txt", "w", encoding = 'utf8')
utf.write(gbk_text)
utf.close()
open(file, mode=』r』, buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)
引數說明
file
檔案路徑
mode
rwabt
buffering
encoding
只有在tmode下有用,指定編碼和解碼,預設使用系統的編碼格式(win下是gbk,linux是utf8)
errors
newline
指定換行符
closefd
opener 方法
描述close()
關閉流closed
如果已經關閉則返回true
readable()
是否可讀
read()
(str)讀取整個文字為乙個字串
readline(size=-1)
(str)返回一行,size可以指定多行
readlines(hint=-1)
(list),讀取所有行
seek(offset[, whence])
更改指標偏移量
tell()
返回當前流的位置
writable()
是否可寫
writelines(lines)
寫入一行
write(s)
寫入字串
python 讀寫檔案 open
io 檔案讀寫 讀 f open users panbingqing desktop test a.rtf 讀模式,不可做任何修改 將整個檔案內容讀取為乙個字串值,使用read 方法 f1 f.read or use readlines 將整個檔案讀取為列表 f2 f.readlines type ...
Python中open讀寫檔案操作
python內建了讀寫檔案的函式open f open users michael test.txt r r 表示讀,我可以可以利用這個方法開啟乙個檔案,如果檔案不存在,會丟擲乙個ioerror的錯誤,並且給出錯誤碼和詳細資訊告訴你檔案不存在。如果檔案開啟成功,我們接下來就要讀檔案操作了 f.rea...
python檔案讀寫操作 內建open 函式
python中的open 方法是用於開啟乙個檔案,如果該檔案損壞或者無法開啟,會丟擲 oserror 完整語法格式 open file,mode r buffering none,encoding none,errors none,newline none,closefd true open 函式常...