【发布时间】:2009-02-04 22:28:09
【问题描述】:
我正在使用 Python 2.6 读取带有 windows 行结尾 ('\r\n') 的 latin2 编码文件。
import codecs
file = codecs.open('stackoverflow_secrets.txt', encoding='latin2', mode='rt')
line = file.readline()
print(repr(line))
输出:u'login: yabcok\n'
file = codecs.open('stackoverflow_secrets.txt', encoding='latin2', mode='r')
line = file.readline()
print(repr(line))
或
file = codecs.open('stackoverflow_secrets.txt', encoding='latin2', mode='rb')
line = file.readline()
print(repr(line))
输出:u'password: l1x1%Dm\r\n'
我的问题:
- 为什么文本模式不是默认模式?文档另有说明。
codecs模块是否常用于二进制文件? - 为什么没有从 readline() 输出中去除换行符?这既烦人又多余。
- 有没有办法为非 ASCII 编码的文件指定换行符。
【问题讨论】: