open(filename,mode,buffer)
其中第一个参数是要打开的文件的文件名,必选;第二个是打开方式,可选;第三个为缓冲区,可选。默认情况下是以“读”模式打开文件。该函数返回的是流类型对象。
mode有如下几种:
r:读模式(默认值)
w:写模式
a:追加写模式
b:二进制模式
t:文本模式(默认值)
+:更新已有硬盘文件(读和写模式)
U:通用换行模式(Universal new line mode)
如果到打开的文件不存在或者其他问题,会跑出IOError异常。
常用的文件对象属性:
mode:文件打开模式
name:打开的文件名称
closed:文件是否关闭
常用的文件对象方法有:
tell():获取在当前文件中,目前所处的位置。起始值为0.
seek(position,mode):在当前文件中移动。其中第一个参数是要移动的距离,第二个参数是模式:0表示移动绝对位置,相对于文件头而言;1表示移动相对位置,就当前位置而言;2表示相对于文件尾的位置。
read(max_byte_num):从文件中读取字节。max_byte_number为可选参数,表示读取的最大字节数。如果不选,默认为读取到文件尾。读取后,当前位置会发生变化,即增加读取的字节数。
readline():一次读取文件的一行。
write(content):向文件中写数据。content为要写入的内容。
close():关闭文件
一个文件读写的例子:
代码如下:
try:
f = open('d:/hello_python.txt','w')
f.write('hello my friend python!')
except IOError:
print('IOError')
finally:
f.close()
try:
f = open('d:\hello_python.txt','r')
print(f.read())
f.close()
f.tell()
except ValueError as ioerror:
print('File alread closed {0}'.format(type(ioerror)))
finally:
print('operation end')