Python 讀寫文字(open)

2021-07-31 00:01:05 字數 2996 閱讀 5026

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,而且decodeencode編碼相同.

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 函式常...