f=open('yesterday',encoding='utf-8') print(f.tell())#文件句柄所在指针指向的位置,即光标在哪里(按字符计数) f.readline()#读一行 print(f.tell()) f.read(5)#只读5个字符,如果括号内没数字,就默认读所有 print(f.tell())#tell的计数是按字符的数量 print(f.readline()) f.seek(0)#指针回到第0位置 print(f.tell()) print(f.readline()) f.seek(28)#指针回到第28个字符位置 print(f.tell()) print(f.readline()) #encoding打印文件编码 print(f.encoding) #返回文件句柄在内存中的编号,不用去关注 print(f.fileno()) #f.name文件名字 print(f.name) #判断是否是终端设备,比如打印机夜,也比如Linux中的terminal print(f.isatty()) #f.closed判断文件是否关闭,返回True或False print(f.closed)#注意closed不带括号 #并不是所有的文件光标是可以移回去的,例如tty、终端设备文件 光标是移不回去的 #字符串,二进制是可以移动的,seekable是用来判断光标能否移动,如果可以则返回True,不能移则返回false print(f.seekable()) #readble判断文件是否可读 print(f.readable()) #flush(注意是在写模式下)是把缓冲区的数据强行输出,主要用作清除缓存,以便内存接收新的东西,为后续应用正确做的处理。 #在命令窗口演示 f=open('test.txt','w') f.write('hello1,my name is Qi Zhiguang ') #然后查看内容,并没有立即写进去,当写的内容达到一定内存时才写进硬盘 #可以通过flush命令将内容立即写进去 f.flush()#这时候再打开文件看,已经写进去了,即:实时将写的内容刷在硬盘上