如何将文件逐行读取到列表中?
我想知道怎么用Python读取一个文件的每一行,并把每一行存储为列表中的一个元素。
我的目标是逐行读取这个文件,然后把每一行加到列表的末尾。
28 个回答
715
这段代码虽然写得有点复杂,但它能实现你想要的效果。
with open("file.txt") as file_in:
lines = []
for line in file_in:
lines.append(line)
1219
请查看 输入和输出:
with open('filename') as f:
lines = f.readlines()
或者可以去掉换行符:
with open('filename') as f:
lines = [line.rstrip('\n') for line in f]
2951
这段代码会把整个文件读入内存,并去掉每一行末尾的所有空白字符(包括换行符和空格):
with open(filename) as file:
lines = [line.rstrip() for line in file]
如果你在处理一个很大的文件,建议你逐行读取和处理文件:
with open(filename) as file:
for line in file:
print(line.rstrip())
在Python 3.8及以上版本中,你可以使用带有海象运算符的while循环,像这样:
with open(filename) as file:
while line := file.readline():
print(line.rstrip())
根据你打算如何处理文件以及文件的编码方式,你可能还需要手动设置访问模式和字符编码:
with open(filename, 'r', encoding='UTF-8') as file:
while line := file.readline():
print(line.rstrip())