# 打开文件
f = open("D:\Test\Python_test.txt","r",encoding="UTF-8")
print(type(f))
# 读取文件 - read()
print(f"read读取10个字节结果是:{f.read(10)}")
print(f"read读取全部字节结果是:{f.read()}") # 连续调用read会从上一个read的结尾处开始
# 读取文件 - readlines()
lines = f.readlines() # 读取文件的全部行 封装到列表中
print(f"lines的对象类型是:{type(lines)}")
print(f"lines对象内容是:{lines}") # 文件读取就想有个小指针记录读取的位置
# 读取文件 - readline()
line1 = f.readline()
line2 = f.readline()
line3 = f.readline()
print(f"第一行数据是:{line1}")
print(f"第二行数据是:{line2}")
print(f"第三行数据是:{line3}")
# for循环读取文件行
for line in f:print(f"每一行数据:{line}")
# 文件的关闭 close()
time.sleep(30)
f.close()
# with open语法操作文件
with open("D:\Test\Python_test.txt","r",encoding="UTF-8") as f:for line in f:print(line)
3、写入文件 f.write() 使用w模式
注意:
直接调用write,内容并未真正写入文件,而是会积攒在程序内存中,称之为缓冲区
当调用flush的时候,才会真正将内容写入文件
这样做避免频繁操作硬盘导致效率下降
close()方法内置了flush() with open as f 包括了close() w --如果文件不存在 会直接创建并写入内容; # 打开一个并不存在的文件 --创建 with open('D:/Test/write.txt',"w",encoding='UTF-8') as f: f.write("hello puuoo") # close()方法内置了flush() 如果文件存在则会清空原来的内容再写入