我正在尝试读取末尾带有空行的文本文件,并且需要将这些行放入列表中。
文本文件如下所示:
这是第一行
这是第二行
*
(* 表示空行)
我像这样阅读文本文件:
read_str = file.readlines()
print(read_str)
它给了我想要的清单,这很好,但最后它说“无”。像这样:
['this is the first line\n', 'this is the second line\n']
None
为什么它最后给我“无”,我该如何解决这个问题?
我正在尝试读取末尾带有空行的文本文件,并且需要将这些行放入列表中。
文本文件如下所示:
这是第一行
这是第二行
*
(* 表示空行)
我像这样阅读文本文件:
read_str = file.readlines()
print(read_str)
它给了我想要的清单,这很好,但最后它说“无”。像这样:
['this is the first line\n', 'this is the second line\n']
None
为什么它最后给我“无”,我该如何解决这个问题?
正如凯文指出的那样,我认为这与您的print函数打印(通过副作用)然后返回None(所有没有显式返回语句的 Python 函数也是如此)有关。
例如:
>>> x = 3
>>> print(x)
3
>>> print(print(x))
3
None
好像你那里有错误。您必须在文本编辑器中省略了最后一行,因为使用您指定的相同输入,它应该以以下行为输出。
with open("test.txt", "r") as f:
f.readlines()
输出:
['this is the first line\n', 'this is the second line\n', '\n']
第三行是空的?所以文件以换行符结束,然后没有别的了吗?这正是您显示的输出!如果您想要数组中的第三个条目,则在文件中的空白行中添加一个空格。不知道你为什么想要那个。
你想用你的代码实现什么?包括你没有向我们展示的代码......