函数原型
open(file,
mode='r',
buffering=-1,
encoding=None,
errors=None,
newline=None,
closefd=True,
opener=None
)
函数说明
open函数用于打开一个文件file,并返回一个文件对象。在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError。
参数mode表示文件打开模式,常用的有‘r’(只读模式)、‘w’(写模式)、“r+”、“w+”(读写模式)、“rb”、“rb+”、“wb”、“wb+”(二进制格式的相关读写模式),这些模式文件指针位于文件头。还有一些模式,“a”、“a+”、“ab”、“ab+”,这些模式文件指针位于文件尾,用于文件内容的追加。
参数buffering表示缓冲区的大小。参数encoding表示文件的编码方式,一般为utf-8。参数errors表示报错级别。参数newline表示区分的换行符。参数closefd表示传入的file参数类型。
文件对象的常用方法有:
1、close():关闭该文件。
2、write(string):将任何字符串写入一个打开的文件。
3、read([count]):从一个打开的文件中读取一个字符串。参数count表示读取的字节。如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。
4、seek(offset [,from]):改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。
函数使用
# 打开一个文件
fo = open("foo.txt", "r+")
str = fo.read(10)
print "读取的字符串是 : ", str
# 查找当前位置
position = fo.tell()
print "当前文件位置 : ", position
# 把指针再次重新定位到文件开头
position = fo.seek(0, 0)
str = fo.read(10)
print "重新读取字符串 : ", str
# 关闭打开的文件
fo.close()