行者孙Python

藏经篇-Day53 文件基础概念,open () 打开文件

📖 知识点

核心概念

  1. 内存数据:程序运行时的数据,程序关闭就消失(变量、列表、字典)

  2. 文件:保存在硬盘上,永久存储,程序重启还能读取

  3. 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()

 

⚠️ 重要提醒

  1. 打开文件后不 close,会占用系统资源

  2. 处理中文文本,一定要加上encoding="utf-8",否则容易出现中文乱码

  3. r 模式下,如果文件不存在,会抛出FileNotFoundError异常

⚔️ Kata 实战任务

任务需求:

  1. 使用 open,以只读r模式打开 note.txt,编码 utf-8

  2. 打印文件对象

  3. 关闭文件

提示:如果还没有 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'

🧠 思考题

  1. open 打开文件之后,为什么一定要调用 close ()?不关闭会有什么问题?

  2. r 模式、w 模式、a 模式三者最核心区别是什么?

‹ 返回目录
🏠首页 Python 📦资源 👤关于我