python对文件进行读写操作
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
python進(jìn)行文件讀寫(xiě)的函數(shù)是open或file
Table mode
模式 | 描述 |
r | 以讀方式打開(kāi)文件,可讀取文件信息。 |
w | 以寫(xiě)方式打開(kāi)文件,可向文件寫(xiě)入信息。如文件存在,則清空該文件,再寫(xiě)入新內(nèi)容 |
a | 以追加模式打開(kāi)文件(即一打開(kāi)文件,文件指針自動(dòng)移到文件末尾),如果文件不存在則創(chuàng)建 |
r+ | 以讀寫(xiě)方式打開(kāi)文件,可對(duì)文件進(jìn)行讀和寫(xiě)操作。 |
w+ | 消除文件內(nèi)容,然后以讀寫(xiě)方式打開(kāi)文件。 |
a+ | 以讀寫(xiě)方式打開(kāi)文件,并把文件指針移到文件尾。 |
b | 以二進(jìn)制模式打開(kāi)文件,而不是以文本模式。該模式只對(duì)Windows或Dos有效,類Unix的文件是用二進(jìn)制模式進(jìn)行操作的。 |
Table?文件對(duì)象方法
方法 | 描述 |
f.close() | 關(guān)閉文件,記住用open()打開(kāi)文件后一定要記得關(guān)閉它,否則會(huì)占用系統(tǒng)的可打開(kāi)文件句柄數(shù)。 |
f.fileno() | 獲得文件描述符,是一個(gè)數(shù)字 |
f.flush() | 刷新輸出緩存 |
f.isatty() | 如果文件是一個(gè)交互終端,則返回True,否則返回False。 |
f.read([count]) | 讀出文件,如果有count,則讀出count個(gè)字節(jié)。 |
f.readline() | 讀出一行信息。 |
f.readlines() | 讀出所有行,也就是讀出整個(gè)文件的信息。 |
f.seek(offset[,where]) | 把文件指針移動(dòng)到相對(duì)于where的offset位置。where為0表示文件開(kāi)始處,這是默認(rèn)值?;1表示當(dāng)前位置;2表示文件結(jié)尾。 |
f.tell() | 獲得文件指針位置。 |
f.truncate([size]) | 截取文件,使文件的大小為size。 |
f.write(string) | 把string字符串寫(xiě)入文件。 |
f.writelines(list) | 把list中的字符串一行一行地寫(xiě)入文件,是連續(xù)寫(xiě)入文件,沒(méi)有換行。 |
例子如下:
讀文件
Python代碼 ?
read?=?open(result)??
???????line=read.readline()??
???????while?line:??
?????????????print?line??
?????????????line=read.readline()#如果沒(méi)有這行會(huì)造成死循環(huán)??
???????read.close??
?寫(xiě)文件
Python代碼 ?
read?=?file(result,'a+')??
????????read.write("\r\n")??
????????read.write("thank?you")??
????????read.close??
?其它
Python代碼 ?
#-*-?encoding:UTF-8?-*-??
filehandler?=?open('c:\\111.txt','r')????#以讀方式打開(kāi)文件,rb為二進(jìn)制方式(如圖片或可執(zhí)行文件等)??
??
print?'read()?function:'??????????????#讀取整個(gè)文件??
print?filehandler.read()??
??
print?'readline()?function:'??????????#返回文件頭,讀取一行??
filehandler.seek(0)??
print?filehandler.readline()??
??
print?'readlines()?function:'?????????#返回文件頭,返回所有行的列表??
filehandler.seek(0)??
print?filehandler.readlines()??
??
print?'list?all?lines'????????????????#返回文件頭,顯示所有行??
filehandler.seek(0)??
textlist?=?filehandler.readlines()??
for?line?in?textlist:??
????print?line,??
print???
print??
??
print?'seek(15)?function'???????????????#移位到第15個(gè)字符,從16個(gè)字符開(kāi)始顯示余下內(nèi)容??
filehandler.seek(15)??
print?'tell()?function'??
print?filehandler.tell()??????????????#顯示當(dāng)前位置??
print?filehandler.read()??
??
filehandler.close()???????????????????#關(guān)閉文件句柄?
轉(zhuǎn)載于:https://my.oschina.net/airship/blog/630797
總結(jié)
以上是生活随笔為你收集整理的python对文件进行读写操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql 主主互备实现
- 下一篇: python计算机视觉2:图像边缘检测