📖 知识点
核心概念
内存数据:程序运行时的数据,程序关闭就消失(变量、列表、字典)
文件:保存在硬盘上,永久存储,程序重启还能读取
open ():内置函数,用来打开文件,返回文件对象,后续读写都靠这个对象
open 基础语法
文件对象 = open("文件名", "模式", encoding="utf-8")
第一个参数:文件名称(文件路径)
第二个参数:打开模式
r:read 只读模式,只能读,不能写,文件不存在直接报错(默认模式)w:write 写入模式,文件不存在则新建;文件存在会清空原有内容a:append 追加模式,文件不存在新建;存在则在末尾添加内容,不覆盖
encoding="utf-8":指定文本编码,处理中文必备,防止乱码操作完成,必须调用 .close () 关闭文件,释放系统资源
示例:打开文件然后关闭
# 以只读模式打开
f = open("test.txt", "r", encoding="utf-8")
print(f)
f.close()
⚠️ 重要提醒
打开文件后不 close,会占用系统资源
处理中文文本,一定要加上
encoding="utf-8",否则容易出现中文乱码r 模式下,如果文件不存在,会抛出
FileNotFoundError异常
⚔️ Kata 实战任务
任务需求:
使用 open,以只读
r模式打开note.txt,编码 utf-8打印文件对象
关闭文件
提示:如果还没有 note.txt 文件,运行代码会报错,属于正常现象。
参考代码
# 打开文件
f = open("note.txt", "r", encoding="utf-8")
# 打印文件对象
print(f)
# 关闭文件
f.close()
运行效果(文件存在)
<_io.TextIOWrapper name='note.txt' mode='r' encoding='utf-8'>如果文件不存在,抛出异常:FileNotFoundError: [Errno 2] No such file or directory: 'note.txt'
🧠 思考题
open 打开文件之后,为什么一定要调用 close ()?不关闭会有什么问题?
r 模式、w 模式、a 模式三者最核心区别是什么?
行者孙Python