[英]How to print multiple lines from a file python
我正在尝试将文本文件中的几行打印到 python 上,并在其中输出。 我目前的代码是:
f = open("sample.txt", "r").readlines()[2 ,3]
print(f)
但是,我收到以下错误消息:
类型错误:列表索引必须是整数,而不是元组
有没有办法解决这个问题或从文件中打印多行而不单独打印出来?
您正在尝试将元组传递给[...]
订阅操作; 2 ,3
是两个元素的元组:
>>> 2 ,3
(2, 3)
您在这里有几个选择:
使用切片从所有行中获取子列表。 [2:4]
从第 3 行开始切片,包括第 4 行:
f = open("sample.txt", "r").readlines()[2:4]
存储行并打印特定索引,一一:
f = open("sample.txt", "r").readlines() print f[2].rstrip() print f[3].rstrip()
我使用str.rstrip()
在打印之前删除了仍然是该行一部分的换行符。
使用itertools.islice()
并将文件对象用作可迭代对象; 这是最有效的方法,因为除了打印工作之外,不需要在内存中存储任何行:
from itertools import islice with open("sample.txt", "r") as f: for line in islice(f, 2, 4): print line.rstrip()
我还将文件对象用作上下文管理器,以确保在完成with
块后再次正确关闭它。
将整个行列表分配给一个变量,然后分别打印第 2 行和第 3 行。
with open("sample.txt", "r") as fin:
lines = fin.readlines()
print(lines[2])
print(lines[3])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.