在Python中打印.text文件中的特定行?

时间:2012-05-06 03:46:28

标签: python printing line

我有一个包含很多行的.txt文件。我希望我的程序能够询问我想要打印的行,然后将其打印到python shell中。 .txt文件名为packages.txt。

3 个答案:

答案 0 :(得分:8)

如果您不想提前读取整个文件,只需迭代直到找到行号:

with open('packages.txt') as f:
    for i, line in enumerate(f, 1):
        if i == num:
            break
print line

或者您可以使用itertools.islice()切出所需的行(这有点笨拙)

with open('packages.txt') as f:
    for line in itertools.islice(f, num+1, num+2):
        print line

答案 1 :(得分:2)

如果文件很大,使用readlines可能不是一个好主意,最好一个一个地阅读它们,直到你到达那里。

line_number = int(raw_input('Enter the line number: '))
with open('packages.txt') as f:
    i = 1
    for line in f:
        if i == line_number:
            break
        i += 1
    # line now holds the line 
    # (or is empty if the file is smaller than that number)
    print line

(更新以修复代码中的错误)

答案 2 :(得分:0)

如何使用行号引用文件的特定行?如在java中,如果行号= i并且文件存储在f中,那么f(i)就可以。