簡體   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