2.3.5-文件操作.md

知识库

2.3.5 文件操作

文件是存储数据的基本单位,可包含文本、图像、音频、视频等多种类型。文件通过文件名和路径来定位和访问,通常由扩展名(如 .txt、.jpg、.mp3)标识类型。文件操作主要包含 3 个步骤:(1)打开文件;(2)读、写文件;(3)关闭文件。

操作文件前一定要先打开。内置函数 open() 的格式为 file = open(文件名,文件模式,编码方式)。例如 fw = open(r"d:\test.txt", "wt") 以“w”只写、“t”文本方式打开 d 盘根目录下的 test.txt。r 表示原始字符串,使 \t 不被当作转义字符;若没有 r,该路径因转义而不能被理解为正确文件名,将报错。读取中文时指定 encoding='utf-8'。

文件使用过后一定要及时关闭。两种常用方式是 file.close() 和 with 关键字。with 的格式为 with open(文件名, 'r') as file:,其下缩进书写读写代码,结束时自动关闭,不易遗漏。

读文件常有两种方式。按字符数读:file.read(n) 读取指定数量的字符。例 2-13 中 log.txt 内容为“广东金融学院互联网金融与信息工程学院”,read(6) 得到“广东金融学院”。按行读:readlines() 一次性读取所有行并返回列表,每个元素对应一行且含行尾 \n,最后一行没有换行符。write() 只能写入字符串,整数和浮点数须先转换,且不会自动换行,需手动加 \n。例 2-15 将工资写入 salary.txt,每行 20 个、空格分隔;例 2-16 遍历文件对象,经 strip()、split()、float() 读回列表。

常见坑:忘记关闭文件;路径不加 r 导致转义错误;write() 直接写数字;漏加换行符;readlines() 行尾带 \n 未 strip();中文未指定 utf-8 可能乱码。

关键要点

下载此文件