ファイルから特定の行を読み取るにはどうすればいいですか(行番号で)? 質問する

ファイルから特定の行を読み取るにはどうすればいいですか(行番号で)? 質問する

ループを使用してファイルを読み取っていますが、行と などforの特定の行だけを読み取りたいです。これを実現するための組み込み機能はありますか?#26#30

ベストアンサー1

読み取るファイルが大きく、メモリ内のファイル全体を一度に読み取りたくない場合は、次のようにします。

fp = open("file")
for i, line in enumerate(fp):
    if i == 25:
        # 26th line
    elif i == 29:
        # 30th line
    elif i > 29:
        break
fp.close()

i == n-1行目については に注意してくださいn


Python 2.6 以降の場合:

with open("file") as fp:
    for i, line in enumerate(fp):
        if i == 25:
            # 26th line
        elif i == 29:
            # 30th line
        elif i > 29:
            break

おすすめ記事