文件:因?yàn)槎悖杂篮?/h1>
打開文件——open
語(yǔ)法:open(file,mode="r",)
其中mode參數(shù)有以下幾個(gè)值:
打開模式 | 執(zhí)行操作 |
---|---|
'r' | 只讀模式(默認(rèn)) |
'w' | 以寫入模式打開文件,覆蓋已有文件,如果文件不存在就新建一個(gè) |
'x' | 如果文件已經(jīng)存在,使用該模式打開將拋出異常 |
'a' | 以寫入模式打開,如果文件存在,在末尾追加寫入 |
'b' | 以二進(jìn)制形式打開文件 |
't' | 以文本模式打開(默認(rèn)) |
'+' | 可讀寫模式(可添加到其他模式中使用) |
'U' | 通用換行符支持 |
注意,file參數(shù)中的路徑如果遇到"",一定要再加一個(gè)""轉(zhuǎn)義
,否則報(bào)錯(cuò)
打開文件之后的方法
文件對(duì)象方法 | 執(zhí)行操作 |
---|---|
f.close() | 關(guān)閉文件 |
f.read(size=-1) | 從文件讀取size個(gè)字符,當(dāng)未規(guī)定size或者給一個(gè)負(fù)值的時(shí)候,讀取剩余所有字符然后作為字符串返回 |
f.readline() | 以寫入模式打開,如果文件存在,在末尾追加寫入 |
f.write("str") | 將字符串寫入到文件 |
f.writelines(seq) | 將文件寫入字符串序列seq,seq應(yīng)該是一個(gè)返回字符串的可迭代對(duì)象 |
f.seek(offset,from) | 在文件中移動(dòng)文件指針,從from(0代表文件起始位置,1代表當(dāng)前位置,2代表文件末尾偏移offset個(gè)字節(jié)) |
f.tell() | 返回當(dāng)前在文件中的位置 |
不關(guān)閉文件,文件無法保存
read()方法
read方法在寫入模式中無效
使用該方法(不帶參數(shù))后再使用,會(huì)發(fā)現(xiàn)返回空值'',這是因?yàn)槲募羔樢呀?jīng)指到了文件的末尾,這時(shí)候可以使用tell()方法獲取當(dāng)前在文件中的位置。使用seek()方法來移動(dòng)文件指針,例如使用file.seek(0,0)回到文件最初位置。
完全讀取文件(使用迭代)
代碼:
for each_line in file:
print(each_line)
可以將file轉(zhuǎn)換成列表,也可以直接以文件形式讀取
文件的寫入
- write(str)
- writeline(str)
注意:必須在open文件的時(shí)候選擇a模式或者w模式
寫入之后一定要關(guān)閉