-2

我正在尝试读取末尾带有空行的文本文件,并且需要将这些行放入列表中。

文本文件如下所示:

这是第一行
这是第二行
*
(* 表示空行)

我像这样阅读文本文件:

read_str = file.readlines()
print(read_str)

它给了我想要的清单,这很好,但最后它说“无”。像这样:

['this is the first line\n', 'this is the second line\n']
None

为什么它最后给我“无”,我该如何解决这个问题?

4

3 回答 3

1

正如凯文指出的那样,我认为这与您的print函数打印(通过副作用)然后返回None(所有没有显式返回语句的 Python 函数也是如此)有关。

例如:

>>> x = 3
>>> print(x)
3
>>> print(print(x))
3
None
于 2013-10-22T13:25:26.303 回答
0

好像你那里有错误。您必须在文本编辑器中省略了最后一行,因为使用您指定的相同输入,它应该以以下行为输出。

with open("test.txt", "r") as f:
    f.readlines()

输出:

['this is the first line\n', 'this is the second line\n', '\n']
于 2013-10-22T13:25:26.783 回答
0

第三行是空的?所以文件以换行符结束,然后没有别的了吗?这正是您显示的输出!如果您想要数组中的第三个条目,则在文件中的空白行中添加一个空格。不知道你为什么想要那个。

你想用你的代码实现什么?包括你没有向我们展示的代码......

于 2013-10-22T13:22:51.987 回答