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中的字符串一行一行地寫入文件,是連續寫入文件,沒有換行。 |
例子如下:
讀文件
read = open(result)
line=read.readline()
while line:
print line
line=read.readline()#如果沒有這行會造成死循環
read.close
寫文件
read = file(result,'a+')
read.write("\r\n")
read.write("thank you")
read.close
其它
#-*- 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() #關閉文件句柄