在python中打印特定行?

时间:2012-05-06 05:27:25

标签: python file printing

到目前为止,我已经获得了此代码。 你输入一个数字,它应该读取packages.txt文件中的特定行并将其打印到python shell中。在下面的代码中,如果你输入“3”,例如它将打印1-3行,我不希望它这样做。

which = input('Which package would you like?: ')

    with open('packages.txt') as f:
        i = 0
        for line in f:
            if i == (int(which)):
                break
            i += 1
            print (line)

3 个答案:

答案 0 :(得分:2)

考虑代码的流程以及何时调用print (line)

您能否看到此代码与您之间的2 非常重要差异?

which = input('Which package would you like?: ')

with open('packages.txt') as f:
    i = 1
    for line in f:
        if i == (int(which)):
            break
        i += 1
print (line)

答案 1 :(得分:1)

您可enumerate超过f获取一行的索引,如果匹配which则将其打印出来。我认为这是一个家庭作业问题,所以不要在这里填写完整的代码:)

答案 2 :(得分:0)

你可以这样做:

lines = open('packages.txt').readlines()

现在你可以猜到剩下的了。