Python

【Python】第6章第1回:ファイルの基本操作:開く、閉じる

本記事では、Pythonプログラミングの基礎である「ファイル操作」について解説します。特に「開く」と「閉じる」の基本操作に焦点を当て、実践的な使用例を学びます。

0. 記事の概要

この記事を読むメリット

  • ファイル操作の基本を理解:ファイルの読み書きの基礎を学べます。
  • エラー回避の方法を習得:ファイル操作時に発生しやすいエラーへの対処法を学べます。
  • 実践的なスキルを向上:実務で活用できるファイル操作の知識を習得できます。

この記事で学べること

  • ファイルを開くと閉じる基本操作
  • Pythonでのファイルモードの使い方
  • 実際のコード例とエラー対策

1. ファイル操作の基本

1.1 ファイル操作の流れ

Pythonでファイルを操作する基本的な流れは以下の通りです。

  1. ファイルを開く(open関数を使用)
  2. ファイルを操作する(読み込み、書き込みなど)
  3. ファイルを閉じる(closeメソッドを使用)

1.2 ファイルモードの種類

ファイルを操作する際には、ファイルモードを指定します。

  • 'r': 読み込み専用
  • 'w': 書き込み専用(内容を上書き)
  • 'a': 追記モード
  • 'b': バイナリモード(例: 'rb', 'wb'

2. ファイルを開くと閉じるの実例

2.1 基本的なコード例

# ファイルを開くと閉じる
file = open("example.txt", "w")  # 書き込みモードでファイルを開く
file.write("Hello, World!")     # ファイルにデータを書き込む
file.close()                    # ファイルを閉じる

2.2 with文を使った安全なファイル操作

# with文を使用したファイル操作
with open("example.txt", "r") as file:
    content = file.read()  # ファイルの内容を読み取る
    print(content)         # 内容を表示する
動作解説
  1. open関数でファイルを開き、writeメソッドでデータを書き込みます。
  2. closeメソッドでファイルを閉じることでリソースを解放します。
  3. with文を使用することで、自動的にファイルを閉じることが保証されます。

3. ファイル操作時の注意点

3.1 ファイルが存在しない場合

存在しないファイルを読み込もうとするとエラーが発生します。この場合は、FileNotFoundErrorをキャッチするようにしましょう。

3.2 書き込み権限がない場合

書き込み権限がない場合は、PermissionErrorが発生します。正しいディレクトリを指定してください。

3.3 バッファリングの問題

ファイル操作はバッファリングされるため、closeを忘れるとデータが失われる可能性があります。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. 新しいテキストファイルを作成し、任意のテキストを5行書き込んでください。
  2. 作成したテキストファイルを読み込み、内容を出力してください。
  3. エラーが発生した場合に例外処理で適切に対応するコードを書いてください。

5. 練習問題の解答と解説

問1〜3の解答例

# 問1: テキストファイルの作成と書き込み
with open("test.txt", "w") as file:
    for i in range(1, 6):
        file.write(f"これは行{i}です\\n")

# 問2: ファイルの読み込み
with open("test.txt", "r") as file:
    content = file.read()
    print(content)

# 問3: エラー処理を追加
try:
    with open("nonexistent.txt", "r") as file:
        content = file.read()
except FileNotFoundError:
    print("ファイルが存在しません。")

6. まとめ

Pythonにおけるファイル操作の基本を学びました。これを活用して、ファイルの読み書きや管理を効率的に行えるスキルを磨いてください。