在读取文本文件结束时获取None

时间:2013-10-22 13:19:03

标签: python

我正在尝试读取一个空白行的文本文件,我需要将这些行放入列表中。

文本文件如下所示:

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

我读了这样的文本文件:

read_str = file.readlines()
print(read_str)

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

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

为什么最后给我“无”,我该如何解决?

3 个答案:

答案 0 :(得分:1)

正如Kevin指出的那样,我认为这与你的print函数打印(副作用)有关,然后返回None(所有Python函数都没有显式的return语句)。

例如:

>>> x = 3
>>> print(x)
3
>>> print(print(x))
3
None

答案 1 :(得分:0)

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

您希望使用代码实现什么目标?包括你没有向我们展示的代码...

答案 2 :(得分:0)

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

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

输出:

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