1. ホーム
  2. python

[解決済み] ファイル内の特定の行を削除するには?

2022-03-04 18:53:35

質問

例えば、ニックネームでいっぱいのテキストファイルがあるとします。このファイルから特定のニックネームを削除するには、Python を使ってどのようにすればよいでしょうか?

どのように解決するのですか?

まず、ファイルを開き、ファイルからすべての行を取得します。次に、ファイルを書き込みモードで再び開き、削除したい行を除いて書き戻します。

with open("yourfile.txt", "r") as f:
    lines = f.readlines()
with open("yourfile.txt", "w") as f:
    for line in lines:
        if line.strip("\n") != "nickname_to_delete":
            f.write(line)

必要なのは strip("\n") というのも、ファイルの末尾が改行文字でない場合、最後の line もないだろう。