Python的io.open()用作默认分隔符是什么?

时间:2016-08-11 19:38:28

标签: python io

所以我有一个代码试图通过这样做来获取message中文本文件的所有行:

inbody = False
lines = []
f = io.open(path, 'r', encoding='latin1')
for line in f:
    if inbody:
        lines.appned(line)
    elif line == '\n':
        inbody = True
f.close()
message = '\n'.join(lines)

目的是将文本文件的所有行都放在message

for line in f表示f是可迭代的,这使我相信io.open()返回一个可迭代序列。我的问题是:io.open()使用什么分隔符从文本文件中生成此序列?

2 个答案:

答案 0 :(得分:1)

来自https://docs.python.org/2/library/io.html#io.IOBase.readline

  

对于二进制文件,行终止符总是b'\ n';对于文本文件,   open()的换行参数可用于选择行   终结者被认可。

答案 1 :(得分:0)

来自https://docs.python.org/2/library/io.html#io.open

  

在输入时,如果换行为无,则启用通用换行模式。输入中的行可以在' \ n',' \ r'或' \ r \ n'中结束,并将这些行转换为' \ ñ'在返回呼叫者之前。如果是'',则启用通用换行模式,但行终止将返回到未翻译的调用者。如果它具有任何其他合法值,则输入行仅由给定字符串终止,并且行结尾将返回给未调用的调用者。