Pythonはファイルの終わりに2番目のパターンの発生の上に行を挿入します。

Pythonはファイルの終わりに2番目のパターンの発生の上に行を挿入します。

以下に示すように、複数のRHEL kickstartファイルが含まれています。%リリース...%終了さまざまなセクションの間には多くのPythonコード行があります。

%post
.....
.....
%end
%post
.....
.....
%end
%post
.....
.....
%end

2番目の検索パターンが表示される前に、一部のデータを含む新しい行を挿入しようとします(上記)。%終了「終わりから始めます(EOF)。すべてのヒント/入力に感謝します。

ベストアンサー1

spam2番目のブロックの最後の位置にテキストを挿入するPythonコードスニペット%post..%end

with open('input') as fp:
    lines = fp.readlines()

locs = [i for i, val in enumerate(lines) if val == '%end\n']
lines.insert(locs[-2], 'spam' + '\n')

with open('input', 'w') as fp:
    fp.write(''.join(lines))

おすすめ記事