其他分享
首页 > 其他分享> > 20201214-3 文件读与写详解1

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('太阳升')

# 但是,追加不能读


标签:文件,utf,encoding,句柄,write,详解,20201214,open
来源: https://blog.51cto.com/u_15149862/2714689