文件读写
掌握文件的打开、读取、写入操作
学会使用 with 语句安全操作文件
能实现常见的文件处理场景
核心讲解
Python 可以很方便地读写文本文件,实现数据的持久化存储。
(1)基本操作流程
打开文件 → 读 / 写文件 → 关闭文件
(2)open () 函数
f = open("文件路径", "模式", encoding="编码")
文件路径:相对路径或绝对路径
模式:决定打开文件的方式,常用模式:
r:只读模式(默认),文件不存在会报错w:写入模式,文件不存在就创建,存在就覆盖原有内容a:追加模式,文件末尾添加内容,不会覆盖r+:读写模式
encoding:指定编码,中文文件一般用
utf-8
(3)读写方法
读取:
read()读取全部内容、readline()读取一行、readlines()读取所有行返回列表写入:
write(内容)写入字符串
(4)with 语句(推荐)
使用 with 语句会自动关闭文件,不用手动调用 close (),避免忘记关闭文件导致资源泄露。
代码示例
# ===== 1. 写入文件 =====
# w模式写入,会覆盖原有内容
with open("demo.txt", "w", encoding="utf-8") as f:
f.write("第一行内容\n")
f.write("第二行内容\n")
f.write("第三行:Python文件读写")
# a模式追加内容
with open("demo.txt", "a", encoding="utf-8") as f:
f.write("这是追加的一行\n")
# ===== 2. 读取文件 =====
# 读取全部内容
with open("demo.txt", "r", encoding="utf-8") as f:
content = f.read()
print("全部内容:")
print(content)
# 逐行读取
print("\n逐行读取:")
with open("demo.txt", "r", encoding="utf-8") as f:
for line in f:
# 去除每行末尾的换行符
print(line.strip())
# 读取所有行到列表
with open("demo.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
print("\n行数:", len(lines))
常见误区
忘记关闭文件:不用 with 语句时,必须手动调用 f.close (),否则可能导致数据丢失
编码不指定:中文文件不指定 encoding 可能会乱码,建议每次都指定 utf-8
模式用错:用 r 模式打开不存在的文件会报错;用 w 模式打开已有文件会清空内容
写入数字:write 只能写入字符串,数字要先用 str () 转换
课后练习
编写程序,创建一个文件,写入你的姓名、年龄、专业,每行一个
读取刚才创建的文件,逐行输出内容
编写程序,统计一个文本文件的行数和总字符数

