前言
实际工作中,我们经常需要用Python读取文txt文件中的数据. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操作也会有相应的差异
常用的文件操作模式
- 打开文件的方式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使用的是r(只读)模式
只读(r, rb)
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
file = open("E:\\study\\good.txt", "r", encoding="utf-8")
line = file.read()
print(line)
# open模式打开文件一定要记得关闭操作
file.close()
# 运行结果
好好学习
公众号:码上开始
- read() 将文件中的内容全部读取出来. 弊端: 占内存. 如果文件过大.容易导致内存崩溃
- 需要注意encoding表示编码集. 根据文件的实际保存编码进行获取数据, 对于我们而言. 更多的是utf-8
- rb. 读取出来的数据是bytes类型, 在rb模式下. 不能选择encoding字符集
只写(w, wb)
- 写的时候注意. 如果没有文件. 则会创建文件
- 如果文件存在. 则将原件中原来的内容删除, 再写入新内容
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
f = open("study.txt", mode="w", encoding="utf-8")
f.write("好好学习Python")
# 刷新. 养成好习惯
f.flush()
f.close()
r+ 读写
- 对于读写模式. 必须是先读. 因为默认光标是在开头的. 准备读取的. 当读完了之后再进行
写入. 我们以后使用频率最⾼的模式就是r+ - 所以记住: r+模式下. 必须是先读取. 然后再写入
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
file = open("study.txt", mode="r+", encoding="utf-8")
# 先读取
content = file.read()
# 再写入
file.write("好好学, 天天向上")
print(content)
# 刷新. 养成好习惯
f.flush()
file.close()
# 运行结果
好好学, 天天向上
a+写读(追加写读)
- 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
- 文件指针将会放在文件的结尾所以该示例找不到内容,打印没任何结果
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
file = open("study.txt", mode="a+", encoding="utf-8")
# 先读取
content = file.read()
# 再写入
file.write("好好学习")
file.write("天天向上")
# 刷新. 养成好习惯
f.flush()
print(file.readline())
file.close()
751

被折叠的 条评论
为什么被折叠?



