ファイルから読み込んで改行を外してリストにする
lines = f.read().splitlines()
これと、リストに改行を付けてファイルに書き込む
f.write('\n'.join(lines))
は逆の処理ではない
最後の行だけ改行が消えるから

joinの代わりに内包表記使うのも、最後に追加で改行書くのも、なんかスマートじゃない