我所能得到的就是这个。
f = open(input('enter file'))
lines = f.readlines()
lines[10]
print("lines")
任何帮助? 我把它改成了[0,11]行
问题已被回答
答案 0 :(得分:3)
BorrajaX的解决方案并不理想,因为它会读取整个文件。更好的是使用python的内置文件迭代器。 enumerate
包装此迭代器以计算返回的行数。
f = open(input('enter file'))
for lnum, line in enumerate(f):
print(line, end='')
if lnum == 9:
break
修改强> 另一种方法(归功于Robᵩ):
import itertools
f = open(input('enter file'))
print(''.join(itertools.islice(f, 10)))
这稍微快一点,但峰值记忆力更高。
答案 1 :(得分:2)
lines
是一个列表。 lines[10]
为您提供lines
列表的第11个元素。它没有对它进行切片(请查看此answer关于切片符号)。
此外,使用print("lines")
,您需要打印字符串"lines"
,而不是变量 lines
。尝试:
f = open(input('enter file'))
lines = f.readlines()
print(lines[0:10])
编辑:
感谢用户Robᵩ帮助我意识到我已经忘记了我的基本Python。的: - d 强>
如果您的元素少于10个,则不需要min
来控制切片:
>>> [1,2,3,4,5][0:10]
[1, 2, 3, 4, 5]