Python文件操作基础_读写方法解析【教程】

15次阅读

python文件操作核心是掌握open()函数模式参数及with语句;’r’只读、’w’清空写、’a’追加、’r+’读写、’b’二进制;推荐with自动关闭,避免资源泄漏。

Python文件操作基础_读写方法解析【教程】

Python文件操作的核心是掌握open()函数的用法和文件对象的常用方法。关键不在记住所有参数,而在于理解模式(mode)如何决定读写行为、何时需要手动关闭、以及为什么推荐用with语句。

打开文件的模式要选对

模式字符串控制文件以什么方式打开,最常用的是:

  • ‘r’:只读,默认值,文件不存在会报错
  • ‘w’:只写,自动清空原内容;文件不存在则新建
  • ‘a’:追加写,在文件末尾添加内容,不会覆盖原有数据
  • ‘r+’:可读可写,但写入时从开头覆盖,不自动换行
  • ‘b’:二进制模式,常和其它模式连用,如'rb''wb'

文本模式下默认使用系统编码(通常是UTF-8),若处理中文建议显式指定encoding='utf-8',避免乱码。

读取文件内容的几种方式

读取方法的选择取决于数据大小和使用场景:

立即学习Python免费学习笔记(深入)”;

  • .read():一次性读取全部内容为字符串,适合小文件
  • .readline():每次读一行,返回含换行符的字符串,适合逐行处理日志等流式数据
  • .readlines():返回每行作为元素的列表,保留换行符,注意内存占用
  • 直接遍历文件对象:for line in f:,内存友好,推荐用于大文件

示例:

with open('data.txt', 'r', encoding='utf-8') as f:
for line in f:
print(line.strip()) # strip()去掉换行符和空格

写入内容要注意换行和编码

写入操作不会自动加换行符,需手动添加'n'

  • .write(String):写入字符串,返回写入字符数
  • .writelines(list):写入字符串列表,每个元素必须是字符串,不自动加换行

常见错误:用writelines(['a', 'b', 'c'])结果是'abc',不是三行。正确写法是['an', 'bn', 'cn']循环调用write()并加n

用with语句管理文件更安全

不用with就得手动调用.close(),一旦出错可能漏关,导致资源占用或写入失败:

  • with open(...)会在代码块结束时自动关闭文件,无论是否异常
  • 即使中间发生ValueErrorKeyboardInterrupt,文件仍能正常关闭
  • 这是Python官方推荐的标准做法,简洁且健壮

不推荐:

f = open('test.txt', 'w')
f.write('hello')
f.close() # 如果write出错,close就不会执行

text=ZqhQzanResources