20201214-3 文件读与写详解1

 
5. 文件操作
对文件操作流程
1. 打开文件,得到文件句柄并赋值给一个变量
2. 通过句柄对文件进行操作
3. 关闭文件
 
5-1 打开文件
data = open("yesterday",encoding = "utf-8").read()
print(data)
# python 默认编码 是 utf-8;如果打开不指定,windows 默认用 gbk 打开
# 不是同一个编码,所以必须告诉程序,用 utf-8 打开
 
# 文件打开后,后续如果要操作,需要通过打开的文件对象操作
# 如果想把文件打开后进行更多的操作,必须把打开的文件对象赋一个变量
 
5-2-1 操作文件
f = open("yesterday",encoding = "utf-8")  # 文件句柄
# 文件句柄就是这个文件的内存对象,句柄里面包含文件的文件名,字符集,大小,内存,硬盘上的起始位置等
data = f.read()
data2 = f.read()
print(data)
print('------------- data2 -------------',data2)
# 文件句柄 打开后,从第一行开始读,在执行第二遍时,光标到了文件最后一行
# 在读时,光标后面没东西了,所以读不到了
# 所以文件就读不到了,读完了
# 想从中间读,移动回光标即可
f.write('我爱北京天安门')

报错因为,已经读了,要么读,要么写

 
5-2-1
f = open("yesterday",'r',encoding = "utf-8")
# 'r' 代表读模式,没有写上,就默认是读模式,不过应该写上的
# 有读就有写
# 'w' 代表写,是通过创建一个文件写入,所以会覆盖之前的
# 写就不能读了,读就不能写
 
5-2-2
f = open("yesterday2",'w',encoding = "utf-8")
# 这是不能读的
f.write('天安门')
f.write('太阳升')
# 但是结果是写到一行了
# 重新 运行 'w' 之前的内容就会被冲掉了
 
5-2-3 想读也想写 怎么办?
f = open("yesterday2",'a',encoding = "utf-8")
# a = append 追加
 
f.write('天安门。。。\n')
f.write('太阳升')
# 直接追加在后面了
 
5-2-4 那么 追加 能读吗?
f = open("yesterday2",'a',encoding = "utf-8")
# a = append 追加
 
f.write('天安门。。。\n')
f.write('太阳升')
# 但是,追加不能读

posted @ 2020-12-14 14:54  Malakh  阅读(72)  评论(0编辑  收藏  举报