1. ホーム
  2. python

[解決済み] 巨大なテキストファイルから特定の行にジャンプするには?

2022-05-13 19:19:23

質問

以下のコードに代わるものはありますか?

startFromLine = 141978 # or whatever line I need to jump to

urlsfile = open(filename, "rb", 0)

linesCounter = 1

for line in urlsfile:
    if linesCounter > startFromLine:
        DoSomethingWithThisLine(line)

    linesCounter += 1

巨大なテキストファイルを処理する場合 (~15MB) を処理していて、特定の行にジャンプする必要がある場合、私は事前にその行の番号を知っていますか?少なくともファイルの前半は無視できると分かっているのに、それらを一つずつ処理するのは気分が悪いです。もしあれば、よりエレガントな解決策を探しています。

どのように解決するのですか?

ラインキャッシュ :

linecache モジュールは、Python ソースファイルから任意の行を取得することを可能にします。同時に、キャッシュを使用して、1 つのファイルから多くの行を読み込む一般的なケースを内部的に最適化しようとします。これは traceback モジュールによって使われます。