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,...