这一点取决于您所使用的Python版本。在Python 2中,Chris
Drappier的答案适用。
在Python
3中,它是一个不同的(并且更加一致)的故事:在文本模式(
'r')中,Python将根据您提供的文本编码来解析文件(或者,如果不提供,则取决于平台的默认值)
,
read()会给你一个
str。在二进制(
'rb')模式下,Python并不假定文件包含可以合理地解析为字符的内容,而是
read()为您提供了一个
bytes对象。
另外,在Python 3中,通用换行符(在
'n'和特定于平台的换行符之间进行转换,因此您不必关心它们)在 任何
平台上均适用于文本模式文件,而不仅仅是Windows。



