【发布时间】:2011-02-28 16:05:24
【问题描述】:
我正在寻找一种方法来确保在 python 程序中读取、编辑和写入时保持文件的行尾样式。
Python 具有通用文件结尾支持,可以在读取文件时将所有行结尾转换为\n,然后在写入文件时将它们全部转换为系统默认值。在我的情况下,我仍想进行初始转换,但随后使用原始 EOL 样式而不是系统默认样式编写文件。
有没有标准的方法来做这种事情?如果没有,是否有检测文件 EOL 样式的标准方法?
假设没有标准的方法来做到这一点,一个可能的工作流程是:
- 以二进制模式读入文件。
- 解码为 utf-8(或任何需要的编码)。
- 检测 EOL 样式。
将所有行尾转换为
\n。处理文件。
将所有行尾转换为原始样式。
- 编码文件。
- 以二进制模式写入文件。
在此工作流程中,执行第 2 步的最佳方法是什么?
【问题讨论】:
标签: python line-endings