-1

我有一个文件,其中包含生成 LaTeX 数学表达式的文本,每行一个。这个文件应该正好包含 103,559 行。但是有些行在末尾或散布在行中包含字符序列 '^M' (CTRL-v CTRL-m),可能多次。结果,当我尝试使用 Python 从文件中读取行时,返回的行数大于预期(实际上返回 104,654 行)。

如何告诉 Python 不要在每次出现序列 '^M' 时生成换行符?谢谢你。

4

1 回答 1

0

使用newline参数来open()

几乎是读取文件时不要转换换行符的副本,我从那里得到了这个解决方案:

with open(sys.argv[1], 'r', newline='\n') as fh:
    for i, line in enumerate(fh):
        print(i, line)

(请注意,在本例中打印时,^M( '\r') 字符会将当前点置于行首,覆盖现有字符。)

于 2018-06-01T10:04:41.453 回答