2019獨角獸企業重金招聘Python工程師標準>>>
python進行文件讀寫的函數是open或file
file_handler = open(filename,,mode)
Table mode
模式 | 描述 |
r | 以讀方式打開文件,可讀取文件信息。 |
w | 以寫方式打開文件,可向文件寫入信息。如文件存在,則清空該文件,再寫入新內容 |
a | 以追加模式打開文件(即一打開文件,文件指針自動移到文件末尾),如果文件不存在則創建 |
r+ | 以讀寫方式打開文件,可對文件進行讀和寫操作。 |
w+ | 消除文件內容,然后以讀寫方式打開文件。 |
a+ | 以讀寫方式打開文件,并把文件指針移到文件尾。 |
b | 以二進制模式打開文件,而不是以文本模式。該模式只對Windows或Dos有效,類Unix的文件是用二進制模式進行操作的。 |
Table?文件對象方法
方法 | 描述 |
f.close() | 關閉文件,記住用open()打開文件后一定要記得關閉它,否則會占用系統的可打開文件句柄數。 |
f.fileno() | 獲得文件描述符,是一個數字 |
f.flush() | 刷新輸出緩存 |
f.isatty() | 如果文件是一個交互終端,則返回True,否則返回False。 |
f.read([count]) | 讀出文件,如果有count,則讀出count個字節。 |
f.readline() | 讀出一行信息。 |
f.readlines() | 讀出所有行,也就是讀出整個文件的信息。 |
f.seek(offset[,where]) | 把文件指針移動到相對于where的offset位置。where為0表示文件開始處,這是默認值?;1表示當前位置;2表示文件結尾。 |
f.tell() | 獲得文件指針位置。 |
f.truncate([size]) | 截取文件,使文件的大小為size。 |
f.write(string) | 把string字符串寫入文件。 |
f.writelines(list) | 把list中的字符串一行一行地寫入文件,是連續寫入文件,沒有換行。 |
例子如下:
讀文件
Python代碼 ?
read?=?open(result)??
???????line=read.readline()??
???????while?line:??
?????????????print?line??
?????????????line=read.readline()#如果沒有這行會造成死循環??
???????read.close??
?寫文件
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')????#以讀方式打開文件,rb為二進制方式(如圖片或可執行文件等)??
??
print?'read()?function:'??????????????#讀取整個文件??
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個字符,從16個字符開始顯示余下內容??
filehandler.seek(15)??
print?'tell()?function'??
print?filehandler.tell()??????????????#顯示當前位置??
print?filehandler.read()??
??
filehandler.close()???????????????????#關閉文件句柄?