python怎么处理txt

Python处理txt文件核心是open()函数配合字符串方法或标准库;推荐with语句逐行读取以节省内存,注意utf-8或gbk编码;写入用"w"覆盖、"a"追加;解析依格式选split、csv、正则或configparser。

Python 处理 txt 文件非常简单,核心是用内置的 open() 函数读写文本,再配合字符串方法或标准库(如 csvre)做进一步分析。

读取 txt 文件内容

最常用的是逐行读取,避免一次性加载大文件到内存:

  • with open("file.txt", "r", encoding="utf-8") as f: 安全打开(自动关闭)
  • f.read() → 读全部为一个字符串
  • f.readlines() → 返回每行带换行符的列表
  • for line in f: → 推荐方式,内存友好,一行一行处理

注意编码问题:中文 txt 常用 utf-8,Windows 记事本保存可能默认 gbk,报错时可试 encoding="gbk"

写入或追加内容到 txt

写入用 "w" 模式(覆盖原文件),追加用 "a" 模式:

  • with open("out.txt", "w", encoding="utf-8") as f: f.write("Hello\nWorld")
  • 多行写入可用 f.writelines(line_list),但需自行确保每行含 \n
  • 追加时不会清空原文件,适合日志记录

按结构解析 txt 数据

纯文本没有固定格式,需根据实际内容选择策略:

  • 分隔符数据(如逗号、制表符):用 line.split(",") 或更稳妥的 csv.reader(f, delimiter="\t")
  • 固定列宽:用切片 line[0:10], line[10:20]
  • 含规律文本(如“姓名:张三”):用正则 re.search(r"姓名:(.+?)\n", text)
  • 配置类文本(key=value):可用 configparser 模块(需先补上 section 头)

常见小任务示例

比如统计某词出现次数、提取所有邮箱、去重并保存:

  • 读文件 → text = f.read()text.count("python")
  • 提取邮箱:re.findall(r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", text)
  • 去重写新文件:读所有行 → set(lines) → 写回(注意保留换行)

不复杂但容易忽略细节,关键是先看清 txt 的实际格式,再选对工具。