python_34_文件操作3

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\n')
#然后查看内容,并没有立即写进去,当写的内容达到一定内存时才写进硬盘
#可以通过flush命令将内容立即写进去
f.flush()#这时候再打开文件看,已经写进去了,即:实时将写的内容刷在硬盘上