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 リソース
関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。
Python ファイル I/O
Python でファイルを読み書きする方法を学びます。 open()、read()、write()、およびコンテキスト マネージャーをマスターして、リソース リークを発生させずにファイル操作を安全に処理します。
Python ファイル操作のチートシート
Python でファイルを読み書きするためのクイック リファレンス。オープン モード、コンテキスト マネージャー、行ごとの読み取りをマスターします。
Python デコレータとデコレータ デザイン パターン: 主な違い
Python デコレータと従来のデコレータ デザイン パターンを比較します。定義時の関数ラッピングと、実行可能なコードを使用した実行時の動的オブジェクト構成の違いを理解します。