Python でファイルに書き込む方法 (書き込みと追加)

Python でファイルにテキストを書き込む方法を学びます。安全なコンテキスト マネージャーを使用して、書き込み (「w」) モードと追加 (「a」) モードの違いをマスターします。

エディターでこのソリューションを試してください

概要

ファイルへのデータの書き込みは、スクリプトの構築、プログラム状態の保存、ログの作成、またはレポートのエクスポートを行う際の基本的なタスクです。 Python は、組み込みの `open()` 関数と、データのディスクへの書き込み方法を制御する特定のファイル アクセス モードを組み合わせて、ファイル出力を簡素化します。

ファイルを書き込むとき、最も一般的な 2 つのモードは、書き込みモード (`"w"`) と追加モード (`"a"`) です。書き込みモードでは、ファイルがすでに存在する場合は完全に上書きされ、存在しない場合は新しいファイルが作成されます。追加モードでは、既存のコンテンツが保持され、新しいデータがファイルの末尾に直接書き込まれます。間違ったモードを使用すると、誤ってデータが失われる可能性があるため、慎重に選択してください。

ファイルの読み取りと同様に、常に `with open(...)` ステートメントを使用する必要があります。これにより、ファイル バッファがフラッシュされ、ファイル ハンドルが適切に閉じられるため、システム リソースが節約され、データの破損が防止されます。文字列のリストを書き込むために、Python には `.writelines()` メソッドが用意されており、一括書き込みをクリーンかつ効率的に行うことができます。

コードと実行の出力

このスクリプトは、Python でのファイルの上書き、追加、表示を示します。

# 1. Overwrite a file (or create new) using "w"
with open("output.txt", "w") as file:
    file.write("Hello World from Python!\n")
    file.write("Writing file content is simple.\n")

# 2. Append new content to the file using "a"
with open("output.txt", "a") as file:
    file.write("This line is appended.\n")

# 3. Reading the file back to verify contents
with open("output.txt", "r") as file:
    print(file.read().strip())
端子出力
Hello World from Python!
Writing file content is simple.
This line is appended.

段階的な実装

  • ファイルを上書きまたは作成するには、open('filename', 'w') を file として使用します。
  • ファイルの末尾にテキストを追加するには、open('filename', 'a') as file とともに使用します。
  • file.write('string') を呼び出して、個々のテキスト セグメントをファイルに書き込みます。

よくある質問

ファイルのディレクトリが存在しない場合はどうなりますか?

Python は FileNotFoundError を発生させます。ファイルを書き込む前に、まず os.makedirs 関数を使用してディレクトリを作成する必要があります。

変数または数値をファイルに書き込むにはどうすればよいですか?

write() メソッドは文字列引数のみを受け取ります。 str(num) を使用して数値をキャストするか、f-string を使用して数値をフォーマットする必要があります。

関連トピック

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。