繁体   English   中英

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

[英]Print specific line in a .txt file in Python?

我有一个.txt文件,其中包含很多行。 我想让我的程序问我要打印哪一行,然后将其打印到python shell中。 .txt文件称为packages.txt。

如果您不想预先读取整个文件,则可以简单地进行迭代,直到找到行号:

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

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

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

如果文件很大,那么使用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

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

如何使用行号引用文件的特定行? 如在Java中,如果行号= i并且文件存储在f中,则f(i)会这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM