读取文件中的行号

时间:2016-06-27 09:56:18

标签: python file

目前我有:

for line in f:
    if line == promble:
        print("check")

我想让程序在我选择的行之后打印行。救命。

3 个答案:

答案 0 :(得分:0)

如果你想测试一个文件中的一行,如果它匹配打印文件中的下一行,请尝试:

selected = False
for line in f:
    if selected:
        print line
        selected = False
    if line == promble:
        selected = True

答案 1 :(得分:0)

使用enumerate

for index,line in enumerate(f):
    if line == promble: 
        print f[index+1]

答案 2 :(得分:0)

您的file对象f具有__iter__属性,因此您可以应用next来获取循环中的下一个项目:

for line in f:
    if line == promble:
        print(next(f)) # prints next line after the current one

如果f既不是file对象也不是iterator,您可以致电iter f来制作一个:{/ p>

it = iter(f)
for line in it:
    if line == promble:
        print(next(it))

如果f已经是迭代器,那么在iter上调用f将再次返回f,因此它仍能正常工作。