# 文件操作,找到、打开、操作、关闭,四个步骤
# 之后可以对f(文件句柄)进行操作。
a = append(追加),w = write(写),r = read(读)),r+(读写),w+(写读:没啥用),rb(二进制)
f = open("yesterday",'a',encoding = "utf-8")
# 创建文件
data = f.read()
print(data)
# 写文件
f.write("我爱你~")
f.close()
# 只读前五行(循环判断)
f = open("yesterday",'r',encoding = "utf-8")
for i in range(5):
print(f.readline())
# 第十行不打印,打印分隔符
print(f.readlines)
for i in f.readlines():
print (line.strip())
for index,line in enumerate(f.readlines()):
if index == 9;
print('---------')
continue
print(line.strip())
# 以上方法只可以读小文件,一次性读进内存。
# 解决方法:分段读取文件,内存里面只保存一行。一行一行读取。
for line in f:
if(count == 9)
print("-----")
count = count + 1
continue
print (line)
count += 1
# 此方法很高效,迭代器,不是列表
f.close()
# 判断是否文件关闭
f.closed()
# 设置光标
f = open("yesterday",'r',encoding = "utf-8")
print(f.tell())
# 可以只读五个:print(f.read(5))
print(f.readline())
print(f.tell) //打印当前位置
f.seek(0) //回到指定位置
print(f.readline)
# 字节编码
f.encoding()
# 返回一个编号,操作系统内部的I/O。
f.fileno()
# 是否为终端设备
f.isatty()
# 判断是否光标可以移动
f.seekable()
# 判断文件是否可读/可写
f.readable()
# 刷新,以写的模式打开文件,未必一定写入内存。
# 强制刷新,必须完成事务
f = open("yesterday",'w',encoding = "utf-8")
f.write("hello")
f.flush()
# 进度条
import sys,time
for i in range(50)
sys.stdout.write ("#")
sys.stdout.flush()
time.sleep(0.1)
# 从头开始截数据,0~10
f.truncate(10)
# 二进制文件
f.open(yesterday,'br')
f.write('hello\n'.encode())
f.close()