0

我注意到当我执行这个命令时:

comb = open ("out.txt", "r").readlines()[0]
print comb

它将打印输出文件中的第一行,然后打印一个空行。为什么我有空行?

4

4 回答 4

4

文档

readline()从文件中读取一行;换行符 ( \n)留在字符串的末尾,如果文件没有以换行符结尾,则仅在文件的最后一行被省略。

您可以改用它:

open("out.txt", "r").read().splitlines()[0]
于 2013-01-17T12:22:13.027 回答
2

因为readlines()读取带有 EOL 字符的行,并print()在打印提供的文本后添加 EOL 字符。EOL - 行尾,通常是\n.

于 2013-01-17T12:22:20.933 回答
1

file.readlines()不会在每行末尾删除换行符,而是print添加一个。

于 2013-01-17T12:21:37.230 回答
1

空行在那里,因为该行被读取为'\n'在每行末尾都有一个字符(换行符)。不幸的是,Python 不会自动删除它。

于 2013-01-17T12:22:34.130 回答