Python基礎知識(六) 檔案

2021-09-11 09:18:42 字數 4398 閱讀 6408

python內建函式open()用於開啟檔案和建立檔案物件,檔案物件包括方法和屬性。

語法

file_object= open(file, mode=『r』, buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)

模式描述

r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案末尾,新的內容將會被寫到已有檔案內容之後。如果該檔案不存在,建立新檔案進行寫入。

r+開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a+開啟乙個檔案用於追加讀寫。如果該檔案已存在,檔案指標將會放在檔案末尾,新的內容將會被寫到已有檔案內容之後。如果該檔案不存在,建立新檔案進行寫入。

rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。

wb以二進位制讀模式開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案

ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案末尾,新的內容將會被寫到已有檔案內容之後。如果該檔案不存在,建立新檔案進行寫入。

rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

wb+以二進位制讀模式開啟可讀寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案

ab+以二進位制模式和附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留

fp=

open

('a.txt'

,'w'

,encoding=

'gbk'

)fp.write(

'中國'

)fp.close(

)fp=

open

('a.txt'

,'r'

,encoding=

'gbk'

)fp.read(

)#中國

fp.close(

)

with 方式開啟檔案:會預設關閉檔案

語法

with open(file,mode=『r』, encoding=none) as f:

with

open

('a.txt'

,'r'

)as f:

for line in f:

print

(line)

原理:先執行__enter__方法 ,後執行__exit__ 方法

class

sample

:def

__enter__

(self)

:print

("in__enter__()"

)return

"foo"

def__exit__

(self)

:print

("in__exit__()"

)def

get_sample()

:return sample(

)with get_sample(

)as sample:

print

('sample'

,sample)

語法

fp.close()

語法

fp.read(size)

fp =

open

('/users/test/a.txt'

,'r'

) content= fp.read(

)print

('讀取的檔案內容如下:\n'

,content)

fp.close(

)

fp.readline([size])

fp =

open

('/users/test/a.txt'

,'r'

) content= fp.readline(

)print

('讀取的檔案內容如下:\n'

,content)

fp.close(

)

fp.readlines([size])

fp =

open

('/users/test/a.txt'

,'r'

) contentlist= fp.readlines(

)print

('讀取的檔案內容如下:\n'

,contentlist)

for i in contentlist:

print

(i) fp.close(

)

語法

fp.write(str)

fp =

open

('/users/test/a.txt'

,'r'

) fp.write(

'測試')

fp.close(

)

fp.writelines(seq)

testlist=

['123\n'

,'abc\n'

,'this is a test\n'

] fp =

open

('/users/test/a.txt'

,'r'

) fp.writelines(testlist)

fp.close(

)

語法

fp.flush()

testlist=

['123\n'

,'abc\n'

,'this is a test\n'

] fp =

open

('/users/test/a.txt'

,'r'

) fp.writelines(testlist)

fp.flush(

)

語法

fp.fileno()

fp =

open

('/users/test/a.txt'

,'r'

)print

(fp.fileno())

fp.close(

)

語法

fp.tell()

fp =

open

('/users/test/a.txt'

,'r'

)print

('列印當前檔案操作標記位置為:'

,fp.tell())

line=fp.readline(

)print

('讀取一行後檔案操作標記位置為:'

,fp.tell())

fp.close(

)

語法

fp.seek(offset,[from])

fp =

open

('/users/test/a.txt'

,'r'

)str

=fp.read(16)

print

("讀取的字串是 : "

,str

) position=fp.tell(

)print

("當前檔案位置 : "

, position)

position=fp.seek(0,

0)str=fp.read(16)

print

("重新讀取字串 : "

,str

) fp.close(

)

python基礎知識(五)檔案

目錄 五 檔案 5.1檔案的讀取 5.2檔案的寫入 5.3檔案的追加 5.4檔案的修改 5.5其他操作 a.開啟檔案 開啟指定位置檔案,絕對路徑 f open d 測試檔案.txt mode r encoding utf 8 content f.read print content f.close ...

python基礎知識六 檔案的基本操作 菜中菜

基礎知識六 檔案操作 open 開啟 file 檔案的位置 路徑 mode 操作檔案模式 encoding 檔案編碼方式 f 檔案控制代碼 f open 1.txt mode r encoding utf 8 print f.read f.close1.檔案操作模式 r,w,a 重要 rb,wb,a...

python基礎知識 五 檔案操作

f open 1.txt r 開啟檔案,沒有不建立 f open 1.txt w 開啟檔案,沒有則建立 有會覆蓋 f open 1.txt a 開啟檔案,沒有建立,有會追加。f.write 寫檔案 f.read 讀檔案 f.close 關閉檔案 f.closed檢查檔案是否關閉,關閉了返回true,...