python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python文件操作与用法

Python文件的基本操作与常用方法(读取、写入与追加)

作者:小尛怪

文件操作是编程中不可或缺的一部分,Python通过内置的open函数提供了丰富的文件读写能力,本文将详细介绍文件的基本操作及常用方法,需要的朋友可以参考下

前言

文件操作是编程中不可或缺的一部分。Python通过内置的open函数提供了丰富的文件读写能力。本文将详细介绍文件的基本操作及常用方法。

一、打开文件 ——open()函数

open(file, mode='r', encoding=None)用于打开文件,返回一个文件对象。

f = open("word.txt", "r", encoding="utf-8")
print(type(f))   # <class '_io.TextIOWrapper'>

二、读取文件的方法

2.1 read(size)—— 读取内容

文本模式下读取指定字符数,二进制模式读取字节数;不传参数则读取文件全部内容。

content = f.read()        # 读取全部内容
content_10 = f.read(10)   # 读取前10个字符

2.2 readline()—— 每次读取一行

读取单行内容,自带换行符 \n,打印时会有空行。

line1 = f.readline()
line2 = f.readline()
print(line1.strip(), line2.strip())  # 一般配合strip去除换行和空格

2.3 readlines()—— 读取所有行,返回列表

一次性读取所有行,每一行作为列表元素,适合小文件使用。

lines = f.readlines()
for line in lines:
    print(line.strip())

2.4 使用for循环直接遍历文件对象(最常用,且内存友好)

逐行读取,不会一次性加载全部文件内容,适合超大文件。

for line in f:
    print(line.strip())

2.5 关闭文件 ——close()

f.close() 关闭文件,释放系统资源。如果代码中途报错,close() 可能无法执行,导致文件句柄泄露。因此推荐 with 语句。

2.6 with open 上下文管理器

自动关闭、自动刷新缓冲区,代码更安全简洁。

with open("word.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())
# 离开with代码块,文件自动关闭

三、文件的写入与追加

2.1 写入模式 ‘w’

覆盖写入,会清空原文件所有内容。write() 不会自动换行,需要手动加 \n。

with open("test.txt", "w", encoding="utf-8") as f:
    f.write("hello world!")

补充:write 内容会先存入内存缓冲区,不会立刻落盘;with 结束会自动刷新缓冲区并关闭文件,无需手动 flush。

2.2 追加模式 ‘a’

在文件末尾新增内容,不会覆盖原有数据。

with open("test.txt", "a", encoding="utf-8") as f:
    f.write("\nnew line")

四、常见问题与错误纠正

  1. read(size) 易错点
    文本模式读取的是「字符数」,不是字节数;只有二进制 rb/wb 模式才是字节数,新手极易混淆。
  2. 文件指针问题
    如果先 read() 读完整个文件,指针会停在末尾,后续 for 循环遍历将读不到任何内容,需要重新打开文件或 seek(0) 重置指针。
  3. 文件覆盖踩坑
    'w' 模式打开文件会直接清空原有内容,练习时切勿用'w'模式误操作原始数据文件。
  4. 编码问题
    所有文本文件操作必须指定encoding=“utf-8”,否则Windows系统默认gbk编码,极易出现乱码、报错。

总结

  1. open() 三大基础模式:r只读、w覆盖写入、a追加写入;操作文本文件务必指定 encoding="utf-8",避免乱码。
  2. 文件读取四种方式按需选用:大文件优先直接 for 循环遍历文件对象;小文件可使用read()、readlines()。注意区分文本模式字符、二进制模式字节,理解read(size)的区别。
  3. 推荐优先使用 with open 上下文管理器,自动关闭文件、刷新缓冲区,防止文件句柄泄露,减少异常带来的数据丢失问题。
  4. 牢记文件指针机制:读取完毕后指针位于文件末尾,重复读取需要重置指针或重新打开文件。
  5. 警惕w模式风险:打开瞬间清空原有文件内容,不要误操作原始数据;write() 方法不会自动追加换行,需要手动添加\n。

以上就是Python文件的基本操作与常用方法(读取、写入与追加)的详细内容,更多关于Python文件操作与用法的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文