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

Eat*_*les 0 python printing line

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

spi*_*lok 8

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

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

或者你可以itertools.islice()用来切出所需的线(这有点hacky)

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