0

現在、Python を使用して入力ファイルの 2 行の間のデータを抽出しようとしています。infile は、次の -START- の前に -END- 条件が発生した場合にのみ、次の 10 行のコードが必要な行 -START- があるように設定されています。-START- 行は -END- の前に何度も出現します。私が言いたいことの一般的な例を次に示します。

何とか-START- 10 行 何とか -START- 10行 何とか-END- 何とか
-START- 10 行 何とか -START- は 必要 ない













....などなど

これまでのところ、反復ごとに -START- + 10 行しか取得できませんでしたが、-END- 条件が別の -START- 条件の前に来る場合にのみ書き込む条件を指定することになると、完全に失われます。私は少し初心者なので、どんな助けでも大歓迎です。

おまけ: START + 10 行の各ブロックを新しい/一意の出力ファイルに出力する必要があります。しかし、私はまだそれをいじっていないので、この部分は無視してかまいません。

-START- + 10行を印刷するためのコードは次のとおりです。

in = open('input.log')
out = open('output.txt', 'a')

lines = in.readlines()
    for i, line in enumerate(lines):
        if (line.find('START')) > -1:
            out.write(line)
            out.write(lines[i + 1])
            out.write(lines[i + 2])
            out.write(lines[i + 3])
            out.write(lines[i + 4])
            out.write(lines[i + 5])
            out.write(lines[i + 6])
            out.write(lines[i + 7])
            out.write(lines[i + 8])
            out.write(lines[i + 9])
            out.write(lines[i + 10])
4

1 に答える 1