-1

多くの行を含む .txt ファイルがあります。どの行を印刷したいかをプログラムに尋ねてから、それをPythonシェルに印刷したいと思います。.txt ファイルは packages.txt と呼ばれます。

4

3 に答える 3

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
于 2012-05-06T04:03:59.943 に答える
3

ファイルが大きい場合、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

(コードの誤りを修正するために更新されました)

于 2012-05-06T04:00:09.647 に答える
0

行番号を使用してファイルの特定の行を参照する方法は? Java のように、行番号 = i でファイルが f に格納されている場合、f(i) が実行されます。

于 2014-03-21T09:45:07.447 に答える