还有就是今天要聊的是,四、python学习笔记-文件操作-文件操作(二)

# flush
"""
1、文件写操作时,数据并非直接写到磁盘,而是先写到缓存(内存),然后在写到磁盘。
2、flush就是将缓存中的数据写入到磁盘
"""
import time
# 示例1、对比使用flush和不使用flush的效果
# 不使用flush时,会一起打印
for i in range(30):
    print('*', end='')
    time.sleep(0.1)


# 使用flush时,会逐个打印
for j in range(30):
    print('*', end='', flush=True)
    time.sleep(0.1)

# truncate
"""
1、清空文件内容
2、不指定参数默认清空所有,指定参数为保留多少个字符
"""
file = open('演示文件', 'a', encoding='utf8')

# 保留前3个字符
file.truncate(3)

# 清空所有
file.truncate()

file.close()

# r+模式
"""
1、读写模式
2、读取时从头开始
3、写入时,追加在结尾
"""
file = open('演示文件', 'r+', encoding='utf8')

# 打印第一行
print(file.readline())

# 在结尾添加
file.write('abc')

file.close()

# w+模式
"""
1、写读模式
2、创建对象时,先清空数据。
3、读取时,文件指针会在上一次写入的内容之后,需要在读取之前先设置文件指针位置
"""
file = open('演示文件', 'w+', encoding='utf8')

# 在结尾添加
file.write('abc')

# 打印文件指针
print(file.tell())

# 设置文件指针位置
file.seek(0)

# 打印一行
print(file.readline())

file.close()

# a+模式
"""
1、追加读模式
2、读取时,文件指针在结尾,需要在读取之前先设置文件指针位置
3、写入时,追加在结尾
"""
file = open('演示文件', 'r+', encoding='utf8')

# 打印文件指针
print(file.tell())

# 设置文件指针
file.seek(0)

# 打印一行
print(file.readline())

# 在结尾添加
file.write('abc')

file.close()

正文完