Python ファイル内の最終行に指定文字列があるかを確認し、無ければ追記する。
表題の件を成すには最終行を取得する必要があり、その方法は下記2点です。
lastrow = sum(1 for i in open([ファイル名])) # ファイル内の最終行の番号を取得
lastrow_sen = linecache.getline([ファイル名], [指定行]) # ファイル内の指定行を取得
本プログラムの動作仕様を以降に示します。
はじめに、対象ファイル内の最終行に指定文字列「END」がある場合の例を下図に示す。

本プログラム実行の結果を下図に示す。最終行番号「9」と最終行文字列「222Eh Eh EeENDee」をprint出力し、その下にcheck OKなどと出力している。

次に、対象ファイルの最終行に指定文字列「END」がない場合の例を下図に示す。

本プログラムの実行結果を下図に示す。最終行番号「3」と最終行文字「#####」をprint出力し、その下にcheck NGなんちゃらと出力している。

そして、対象ファイル内を見ると、最終行に「END」が追記されているのがわかる(下図)。

▼本プログラム
以上
<広告>
リンク