如何在Python中读取文件的每一行,并将每一行存储为列表中的元素?
我想逐行读取文件,并将每一行附加到列表的末尾。
如何在Python中读取文件的每一行,并将每一行存储为列表中的元素?
我想逐行读取文件,并将每一行附加到列表的末尾。
当前回答
这比必要的更明确,但可以做到你想要的。
with open("file.txt") as file_in:
lines = []
for line in file_in:
lines.append(line)
其他回答
Python 3.4中引入了pathlib,它有一种非常方便的方法来从文件中读取文本,如下所示:
from pathlib import Path
p = Path('my_text_file')
lines = p.read_text().splitlines()
(splitlines调用将其从包含文件全部内容的字符串转换为文件中的行列表。)
pathlib有很多方便的地方。readtext很好,很简洁,您不必担心打开和关闭文件。如果您只需一次将文件全部读入,这是一个不错的选择。
f = open("your_file.txt",'r')
out = f.readlines() # will append in the list out
现在,变量out是您想要的列表(数组)。您可以选择:
for line in out:
print (line)
Or:
for line in f:
print (line)
你会得到同样的结果。
只需使用splitline()函数。这里有一个例子。
inp = "file.txt"
data = open(inp)
dat = data.read()
lst = dat.splitlines()
print lst
# print(lst) # for python 3
在输出中,您将看到行列表。
您也可以在NumPy中使用loadtxt命令。这比genfromttxt检查的条件更少,因此可能更快。
import numpy
data = numpy.loadtxt(filename, delimiter="\n")
如果要包含以下内容:
with open(fname) as f:
content = f.readlines()
如果不希望包含:
with open(fname) as f:
content = f.read().splitlines()