文件
想要操作文件需要创建或者打开指定的文件,并创建文件对象。
flie = open ( filename [ , mode [ ,buffering ] ] )
file:被创建文件对象
filename:要创建或打开文件名称,需要用单引号或者双引号括起来
mode:可选参数,用于打开指定文件的打开模式
打开模式 执行操作
‘r’ 以只读方式打开文件(默认)
‘w’ 以写入的方式打开文件,会覆盖已存在的文件
‘x’ 如果文件已经存在,使用此模式打开将引发异常
‘a’ 以写入模式打开,如果文件存在,则在末尾追加写入
‘b’ 以二进制模式打开文件
‘t’ 以文本模式打开(默认)
‘+’ 可读写模式(可添加到其他模式中使用)
‘U’ 通用换行符支持
上面的6中文件打开模式,还可以与’b’,‘t’相结合,组成类似’rb’、'wt’这样的形式,'b’代表二进制模式,'t’代表文本模式。默认情况下,Python以文本模式打开目标文件。
文件的属性与方法
f.closed
只读属性,判断f.close()是否已经调用过。
f.encoding
只读属性,文件的encoding格式
f.mode
只读属性,显示调用open()打开文件时指定的mode
f.name
只读属性,显示调用open()文件时的指定名称
f.softspace
只读的布尔属性,供print语句记录自己的状态,file对象自身并不修改或使用该属性。
f.close()
关闭已经打开的file对象,所有的file对象,完成读写操作后,都应该关闭
f.flush()
手动将Python写到文件的缓存刷到操作系统
f.isatty()
如果 f 是一个交互终端,则返回True,否则,返回False
f.fileno()
返回一个整数,这个整数就是文件 f 的文件描述字——file descriptor,fd。
f.read(size = -1)
读取文件内容,以字符串的形式返回。
size < 0 —— 一直读到文件结尾;
size > 0 —— 读取 size 字节的内容直到文件结尾,如果到了文件末尾仍未满 size 字节,则返回全文。
size = 0 —— size = 0 或读取时当前文件的位置在文末,都会返回一个空字符串。
f.readline(size = -1)
读取1行,直到遇见’\n’或读满size字节,以字符串的形式返回。
size >= 0,读取的内容不超过size字节,如果没有读够 size 字节就到本行结尾,则停止读取,返回本行。
size < 0,读取当前一行的全部内容,直到遇到 ‘\n’ 或文件结尾。
f.readlines(size = -1)
读取多行,返回一个list,每一行作为 list 中的一个字符串。最后一个字符串可能不以 “ \n ”结尾。
f.next()
file对象是可迭代的,每次迭代返回文件中的一行。
f.seek(pos, how = 0)
将当前文件的位置设置到距离参考点pos字节的位置,参数 how 决定参照点的位置:
how = 0,参照点是文件开头,这是默认情形,对应于 os.SEEK_SET
how = 1,参考点是当前位置,对应于os.SEEK_CUR
how = 2,参考点是文末,对应于os.SEEK_END
f.tell()
返回文件当前位置距离文件开头的字节数。
f.truncate([size])
将文件截断到不超过 size 字节,
如果size超过当前文件大小,将以0填充,
如果没有提供size参数,则使用 f.tell() 作为截断后新文件的大小。
f.write(s)
将字符串 s 写入到文件中
f.writelines(lst)
参数lst是一个可迭代对象,将其中的字符串内容全部写到 f 中,该函数不会自动添加 ‘\n’ !