Python|テキストファイルに文字列を書き込む

1. はじめに

Pythonでは、テキストファイルに文字列を書き込むことで、ログ記録やデータ保存など幅広い用途に活用できます。この記事では、Pythonでテキストファイルに文字列を書き込む方法を、初心者にもわかりやすく丁寧に解説します。

ファイル書き込み処理は、プログラムの出力結果を保存したり、ログを残したりと、実務でも頻繁に使われます。この記事では、基本的な書き込み方法から、よくある応用例、注意点までを詳しく解説しますので、独学でPythonを学ぶ方にも最適です。

 

2. Pythonでテキストファイルに文字列を書き込む基本

2-1. ファイル書き込みの基本構文

Pythonでテキストファイルに文字列を書くには、open()関数とwrite()メソッドを使います。以下のように記述することで、任意の文字列をファイルに保存できます。

# ファイルを開いて文字列を書き込む
with open("output.txt", "w", encoding="utf-8") as file:
    file.write("こんにちは、Pythonファイル書き込み!")

実行結果:

(output.txt ファイルに「こんにちは、Pythonファイル書き込み!」と書き込まれます)

2-2. open関数の引数の意味

  • "output.txt": 書き込むファイル名(なければ新規作成)
  • "w": 書き込みモード(上書き)
  • encoding="utf-8": 文字化け防止のためのエンコーディング指定(特に日本語は必須)

with構文を使うことで、ファイルのクローズ処理(file.close())を自動で行ってくれるため、安全でおすすめです。

 

3. よくある使い方・応用例

3-1. 複数行の文字列を書き込む

複数行を書き込むには、改行コード \n を使うか、writelines() メソッドを使います。

lines = [
    "1行目のテキスト\n",
    "2行目のテキスト\n",
    "3行目のテキスト\n"
]

with open("multiline.txt", "w", encoding="utf-8") as file:
    file.writelines(lines)

実行結果:

1行目のテキスト
2行目のテキスト
3行目のテキスト

3-2. 追記モードで書き込む

すでにあるファイルの内容を消さずに、新しい行を追記したい場合は、"a"(append)モードを使います。

with open("log.txt", "a", encoding="utf-8") as file:
    file.write("ログ:処理が正常に完了しました。\n")

実行結果:

(log.txtに追記されていきます)

3-3. 変数を組み合わせて書き込む

変数の値を含めて書き込みたい場合、f-stringformat() を活用すると便利です。

name = "田中"
score = 85

with open("score.txt", "w", encoding="utf-8") as file:
    file.write(f"{name}さんのスコアは {score} 点です。\n")

実行結果:

田中さんのスコアは 85 点です。

 

4. 注意点・エラー対策

4-1. 書き込み時の注意点

  • “w”モードは既存の内容を消去する: 追記したい場合は必ず”w”ではなく”a”を使う
  • 日本語の文字化け: encoding="utf-8"を忘れると、日本語が文字化けすることがある
  • ファイルパスの指定: 相対パス・絶対パスを間違えるとエラーになる

4-2. 書き込みエラーへの対処例

ファイルが開けない、パスが存在しないなどのエラーが出ることがあります。try-exceptで囲うと安全です。

try:
    with open("data/output.txt", "w", encoding="utf-8") as file:
        file.write("エラーハンドリングのテスト")
except FileNotFoundError:
    print("指定されたディレクトリが存在しません。")

実行結果:

指定されたディレクトリが存在しません。

 

5. まとめ

この記事では、Pythonでテキストファイルに文字列を書き込む方法について解説しました。基本のopen() + write()に加え、writelines()、追記モード、変数の組み合わせなど実践的な例も取り上げました。

  • with open("ファイル名", "モード") as fileでファイル操作は完結
  • 日本語文字列にはencoding="utf-8"を明示する
  • 追記には"a"モード、複数行にはwritelines()が便利

実務ではログファイルの生成、レポート出力、自動記録などで活躍します。学習の際は、実際に小さなファイルを書いてみて、挙動を確認することが上達のコツです。

テキストファイルへの書き込みはPython学習の基本のひとつ。ぜひ習得しておきましょう!

タイトルとURLをコピーしました