python文本处理需用open()指定编码(如utf-8),with语句确保关闭;csv用csv模块避免手动分割;jsON用json模块序列化,注意编码、indent和ensure_ascii参数及非标准类型处理。

读写文本文件:掌握基础操作
Python处理文本最常用的是内置的 open() 函数。默认以只读模式(‘r’)打开,返回一个文件对象。写入需显式指定模式:‘w’(覆盖写)、‘a’(追加写)。记得用 with 语句自动关闭文件,避免资源泄漏。
- 读取全部内容:file.read() 返回字符串;file.readlines() 返回每行带换行符的列表
- 逐行处理更省内存:for line in file: 直接迭代,line 包含末尾的 n,可用 .strip() 去除
- 写入时注意编码:中文务必加 encoding=’utf-8′,否则可能报错或乱码
csv文件处理:用 csv 模块更安全
别用普通文本方式手动切分逗号——CSV字段本身可能含逗号、换行或引号。Python 标准库 csv 模块专为解决这类问题设计。
- 读取:用 csv.reader(f) 得到可迭代的行(每行是字符串列表);或用 csv.DictReader(f),首行作键,返回字典,更直观
- 写入:用 csv.writer(f) 的 writerow() 或 writerows();若用 DictWriter,需提前传入 fieldnames 并调用 writeheader()
- 注意:打开 CSV 文件时,windows 下建议加 newline=” 参数,防止空行;其他系统影响不大
JSON数据交换:序列化与反序列化
JSON 是轻量级数据格式,Python 通过 json 模块实现 dict/list/str/int/Float/bool/None 与 JSON 字符串的互转。它不支持 datetime、自定义类等类型,需额外处理。
- 从文件读 JSON:json.load(f);从字符串解析:json.loads(s)
- 写入文件:json.dump(data, f);生成字符串:json.dumps(data)
- 常用参数:indent=2 让输出美观可读;ensure_ascii=False 保留中文字符(否则转成 uXXXX)
- 遇到非标准类型(如日期),可传入 default 函数,例如 default=str 把日期转字符串
常见问题与避坑提醒
实际操作中容易忽略细节,导致报错或数据异常。
立即学习“Python免费学习笔记(深入)”;