# (1)flush
# 刷新缓冲区 flush
# 当文件关闭的时候自动刷新缓冲区
# 当整个程序运行结束的时候自动刷新缓冲区
# 当缓冲区写满了 会自动刷新缓冲区
# 手动刷新缓冲区
'''
fp = open("0506_6.txt",mode="w+",encoding="utf-8")
fp.write("123456")
# 手动刷新缓冲区
fp.flush()
while True:
pass
fp.close()
'''
# (2) 文件对象具有可迭代性
#readable() 功能: 判断文件对象是否可读
#writable() 功能: 判断文件对象是否可写
'''
fp = open("0506_6.txt",mode="r",encoding="utf-8")
res1 = fp.readable()
res2 = fp.writable()
print(res1) #True
print(res2) #False
for i in fp:
print(i)
'''
# (3) 文件的相关函数
#readline() 功能: 读取一行文件内容
'''
readline(字符数)
如果给的参数大于当前行字符数,只获取当前行所有内容
如果给的参数小于当前行字符数,按照实际给的参数进行字符的获取
'''
'''
with open("0506_6.txt",mode="r+",encoding="utf-8") as fp:
res = fp.readline(300)
print(res)
# 0 0.0 0j False '' [] () set() {} None
# 循环打印文件里面每一行的内容
# while res:
# print(res)
# res = fp.readline()
'''
#readlines() 功能:将文件中的内容按照换行读取到列表当中
'''
lst = []
with open("0506_6.txt",mode="r+",encoding="utf-8") as fp:
res = fp.readlines()
for i in res:
res2 = i.strip()
lst.append(res2)
# print(res)
print(lst)
'''
#writelines() 功能:将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串类型的可迭代数据
with open("0506_6.txt",mode="r+",encoding="utf-8") as fp:
strvar= "今天天气好晴朗"
lst = ["亲爱的\n","美女\n","请看我\n","一眼\n"]
fp.writelines(lst)
#truncate() 功能: 把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中 (字节)
with open("0506_6.txt",mode="r+",encoding="utf-8") as fp:
fp.truncate(6)
"""
read(字符)
readline(字符)
seek(字节)
truncate(字节)
tell返回的是字节
"""