プログラミング学習

Pythonでファイル操作を理解しよう|初心者がつまずくwith open()の動きと保存場所

記事内に商品プロモーションを含む場合があります

Pythonでファイル操作をするときに必ず登場するwith open()構文。

初心者の方にとっては「このコード、何が起きてるの?」「ファイルってどこにできるの?」と疑問に感じることが多いですよね。

この記事では、実際のコードを例に、ファイルの書き込み・読み込みの流れと、保存先の確認方法をわかりやすく解説します。

「ファイル操作がわからない…」という初学者がスムーズに理解できるよう、丁寧に順を追って説明していきます。

※本記事はPython 3系(公式ドキュメント準拠)をもとにしています。

実際のコード例

with open("sample.txt", "w") as f:
    f.write("こんにちは、Python!")

with open("sample.txt", "r") as f:
    content = f.read()
    print(content)

この短いコードで、ファイルの作成から内容の読み出しまで完結しています。
では、内部で何が起きているのか、順を追って見ていきましょう。

このコードで何が起きているの?

1. ファイルの書き込み

  • "sample.txt"というファイルを書き込みモード(”w”)で開きます。
  • f.write(...)によって、ファイルに"こんにちは、Python!"という文字列が書き込まれます。
  • withを使うことで、ブロックを抜けたタイミングでファイルが自動的に閉じられます

ここがポイントです👇

Pythonでは、ファイルを開いたら閉じる(close())処理が必要ですが、with open()を使うとその処理を自動で行ってくれます。
これにより「ファイルが開いたままロックされる」といったトラブルを防げます。

2. ファイルの読み込み

  • 同じ"sample.txt"読み込みモード(”r”)で開きます。
  • f.read()でファイルの中身を読み込み、変数contentに格納します。
  • print(content)で内容を表示します。

このとき、すでに書き込まれた「こんにちは、Python!」という文字列がターミナルやエディタ上に出力されます。

ファイルはどこに作成されるの?

このコードを実行すると、sample.txtは「Pythonスクリプトを実行した場所(カレントディレクトリ)」に作成されます。

カレントディレクトリを確認する方法

import os
print(os.getcwd())

上記を実行すると、現在の作業フォルダ(Pythonがファイルを作成する場所)のパスが表示されます。

Pythonのカレントディレクトリ確認画面

こんな感じで表示されます。

実際にそのフォルダを開いてみると・・・

Pythonで作成されたファイルの場所

ありました!
このように、Pythonは基本的に「実行したスクリプトのある場所」にファイルを作成します。

保存先を指定したい場合

保存先を明示的に指定したい場合は、以下のようにフルパス(絶対パス)を使います。

with open("C:/Users/ユーザー名/Documents/sample.txt", "w", encoding="utf-8") as f:
    f.write("保存先を指定してみたよ!")

※Windowsでは「バックスラッシュ(\)」ではなく「スラッシュ(/)」を使うのが安全です。
MacやLinuxでも同様に動作します。

よくある疑問と対策

❓ ファイルが見つからない!

→ 実行環境(VS Code、Jupyter Notebook、ターミナルなど)によってカレントディレクトリが異なる場合があります。
常にos.getcwd()で確認しておくと安心です。

❓ ファイルが上書きされる?

"w"モードは常に上書きします。追記したい場合は"a"モード(append)を使用しましょう。

with open("sample.txt", "a") as f:
    f.write("\n追記してみました!")

これで既存の内容の下に新しい行が追加されます。

💡 補足:エンコーディングについて

ファイルを開く際は、文字化けを防ぐためにencoding="utf-8"を指定するのがおすすめです。
特にWindows環境ではデフォルトエンコードが異なる場合があるため注意しましょう。

まとめ

  • with open()はファイルを開いて処理し、自動で閉じてくれる安全な構文
  • ファイルは基本的に「スクリプトを実行した場所」に作成される
  • 保存先を指定したい場合はフルパスを使う
  • 追記モードやエンコーディング指定など、慣れると業務自動化にも応用可能

Pythonのファイル操作は、慣れると非常に便利で強力な機能です。今回のような「どこにファイルができるの?」という疑問は、初心者が最初にぶつかる壁ですが、理解できれば業務改善やデータ処理の自動化にも応用できます。

次回は、さらに実用的な「CSVファイルの読み書き」や「Excel操作(openpyxl)」など、ビジネスで役立つファイル操作を紹介します。

AIブロガー
筆者:yuki
Python未経験からAIと対話しながらコード作成。副業×自動化×プログラミングの可能性を模索中。 ▷詳細プロフィールはこちら