【初心者向け】Pythonでファイル結合ツールを作ろう!|Python100本ノック Lesson 12

Pythonで学べる100のミニアプリ ロードマップ

はじめに

第11回では「メモ帳アプリ」を作って、入力した文章をファイルに保存・読み込みできるようになったな。
今回はその応用として、複数のテキストファイルをまとめる 「ファイル結合ツール」 を作ってみるで!

例えば「file1.txt」「file2.txt」「file3.txt」を1つにまとめて「merged.txt」に保存する仕組みや。


完成イメージ

結合対象ファイル:

file1.txt → 「Pythonは楽しい」
file2.txt → 「AIの勉強を始めた」
file3.txt → 「ブログも書いてる」

結合後(merged.txt):

Pythonは楽しい
AIの勉強を始めた
ブログも書いてる

ヒント(使う要素)

  • open("ファイル名", "r") → 読み込み
  • open("ファイル名", "w") → 書き込み
  • for 文 → 複数ファイルをまとめる
  • with 文 → ファイルを自動で閉じる

コード全文

一旦自分で作ってみよう!
# Lesson 12: ファイル結合ツール(テキスト)

files = ["file1.txt", "file2.txt", "file3.txt"]  # 結合したいファイル
output = "merged.txt"  # 出力ファイル名

with open(output, "w", encoding="utf-8") as outfile:
    for fname in files:
        try:
            with open(fname, "r", encoding="utf-8") as infile:
                content = infile.read()
                outfile.write(content + "\n")
        except FileNotFoundError:
            print(f"エラー:{fname} が見つかりませんでした。")

print("結合が完了しました! →", output)


実行方法

  1. file1.txt file2.txt file3.txt を用意(中身は自由に書いてOK)
  2. 上のコードを lesson12.py として保存
  3. ターミナルで次を実行:
python lesson12.py

(動かへん場合は python3 lesson12.py

実行後、「merged.txt」が生成され、3つのファイル内容がまとめられるで!


応用アイデア

  • ファイル名を input() でユーザーに入力させる
  • 複数フォルダ内のファイルを一括結合する
  • CSVやJSONの結合ツールに拡張する

まとめ

今回は 「ファイル結合ツール」 を作ったで!
ファイルの読み込み・書き込みを組み合わせれば、複数のファイルを1つにまとめる処理が簡単にできるんや。

👉 次回は Lesson 13: 単語カウントアプリ
テキスト内の単語を数える、ちょっとしたデータ分析風のアプリに挑戦や!