文件基本操作模式:读r,写w(每次向文件中写时覆盖之前的内容) 追加a(也就是只能追加写,不能读)
yes=open('yes.txt') #默认yes文件对象只能读
文件操作 1. read():
(1)yes1= yes.read() #yes1存放的是yes文件对象的全部内容和格式,见部分截图:
注:使用read()读取文件之前,文件的指针时停留在第一行的开始,指针(不同于C语言中的指针)下标为0,随着指针的移动文件读取,读到文件的最后时指针已到文件末
如果不将文件关闭时,再次print时无内容显示,因为指针已经指到文件末。
read是将硬盘中的全部内容读到内存中,如果指定read的文件比较大时,速度将很慢,所以说read只适合读小文件。
(2)yes1=yes.readline() #读取文件的一行内容
只读一行时,是读取文件的第一行给yes1,readline()读取的格式类型是str,见截图:
(3) yes2=yes.readlines() #读取文件对象指定文件的所有行
readlines()读取所有行用列表存放,即yes.readlines()的类型为liet,见部分截图:
使用readlines()复制文件内容时,需要使用for 循环将列表中的每一个‘’中的字符写到指定文件中。
注:readlin和readlines是按行将硬盘中的内容读到内存中,如果文件比较大时20G,内存要爆了,所以要么选择小文件,要么读取文件的方式改变,如:
for line in yes:
print line
这是最快的方式,yes的类型为<type 'file'>
2.查看文件指针所在的位置,使用tell()方法,如:yes.tell()
seek()方法,将文件指针移到指定的位置,可以读出之前读过的文件,如:yes.seek(0),指针移到文件开
flush()方法,刷新文件内容,如:yes.flush()