Python文件流读写方式详解
作者:FreshDream
时间:2025-12-14
浏览:1
文本模式用于处理字符数据,自动转换编码和换行符,读写字符串类型,适合.txt、.csv等文本文件;2.二进制模式以rb/wb等方式打开,不进行编码转换,读写bytes类型,适用于图片、音频等非文本文件。
本文目录
文本模式用于处理字符数据,自动转换编码和换行符,读写字符串类型,适合.txt、.csv等文本文件;2. 二进制模式以rb/wb等方式打开,不进行编码转换,读写bytes类型,适用于图片、音频等非文本文件。

在 Python 中,文件流的读写操作主要有两种方式:文本模式和二进制模式。它们适用于不同的场景,处理的数据类型也不同。下面详细介绍这两种方式的区别和使用方法。
1. 文本模式(Text Mode)
文本模式用于读写字符数据,通常处理的是人类可读的文本文件,比如 .txt、.csv、.json 等。在这种模式下,Python 会自动处理编码转换(如 UTF-8),并把换行符进行标准化(例如将 \r\n 转为 \n)。
常见操作:
• 打开文件时默认使用文本模式(即 mode='r')• 指定编码格式,推荐使用 encoding='utf-8'
• 读取和写入的是字符串(str)类型
示例代码:
f = open('example.txt', 'r', encoding='utf-8')content = f.read()
f.close() f = open('output.txt', 'w', encoding='utf-8')
f.write('Hello, 世界!')
f.close()
建议使用 with 语句更安全地操作文件:
with open('example.txt', 'r', encoding='utf-8') as f:content = f.read()
2. 二进制模式(Binary Mode)
二进制模式用于读写原始字节数据,适合处理非文本文件,如图片、音频、视频、PDF 或任何需要保持原始字节不变的文件。这种模式不会做任何编码或换行符转换。
特点:
• 文件模式以 b 结尾,如 'rb'、'wb'• 读取返回 bytes 类型,写入也必须是 bytes
• 不指定 encoding 参数
示例代码:
with open('image.png', 'rb') as f:data = f.read() with open('copy_image.png', 'wb') as f:
f.write(data)
如果要在二进制模式中写入字符串,需要先编码:
text = "Hello"binary_data = text.encode('utf-8')
with open('data.bin', 'wb') as f:
f.write(binary_data)
基本上就这些。文本模式适合日常文本处理,二进制模式用于精确控制字节流。根据文件类型选择合适的方式,能避免乱码或数据损坏问题。
作者最新文章
photoshop路径选择工具在哪
2026-10-02 13:28
3dmax建筑建模算量不认可吗?不认可怎么办及软件选择指南
2026-10-01 11:09
哪个思维导图软件好
2026-09-30 12:58
vivo V80 曝光:10月发布,首推10倍人像变焦与蔡司夜景长焦
2026-09-08 17:00
python入门经典:后端开发者的环境配置与验证流程
2026-09-05 05:29
上一篇:
Win10骑马与砍杀无法打开解决方法
下一篇:
Golang如何用装饰器扩展对象功能
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































