Skip to content

10. ファイルの入出力

ファイルの読み書きは、プログラミングにおいて非常に重要な技術です。Python では、簡単にファイルを操作することができます。このセクションでは、ファイルを開く、読み取る、書き込む方法を学びます。

10.1 ファイルを開く

ファイルを読み書きするためには、まずファイルを開く必要があります。Python では、open関数を使ってファイルを開きます。この関数は以下のように使用します。

# ファイルを開く
file = open('example.txt', 'r')  # 'r'は読み取り専用モード

open関数は、開きたいファイルの名前と、そのファイルをどのように開くかを指定するモードを引数に取ります。モードには以下のような種類があります:

  • 'r': 読み取り専用
  • 'w': 書き込み専用(既存のファイルは上書きされます)
  • 'a': 追記(既存のデータは保持され、末尾にデータが追加されます)
  • 'b': バイナリモード(バイナリファイルを操作する際に使います)
  • '+': 読み書き(更新)用

10.2 ファイルを読み取る

ファイルを開いた後は、read, readline, readlinesメソッドを使ってファイル内容を読み取ることができます。

# ファイルの内容を全文読み込む
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

# ファイルを1行ずつ読み込む
with open('example.txt', 'r') as file:
    for line in file:
        print(line.strip())
  • read(): ファイル全体を文字列として読み込みます。
  • readline(): ファイルから 1 行ずつ読み込みます。次に読み込む時には次の行を取得します。
  • readlines(): 全ての行をリストとして返します。

10.3 ファイルに書き込む

ファイルにデータを書き込む際には、writeメソッドを使用します。

# 新しいファイルを開き、内容を書き込む
with open('example.txt', 'w') as file:
    file.write("Hello, World!")

# 既存のファイルに追記する
with open('example.txt', 'a') as file:
    file.write("\n追加の行")
  • write(text): 指定された文字列textをファイルに書き込みます。改行が必要な場合、自分で\nを追加する必要があります。

10.4 ファイルのクローズ

withステートメントを使用することで、ファイルを明示的に閉じる必要がなくなります。withを使わない場合はcloseメソッドを使用してファイルを閉じることを忘れないでください。ファイルを閉じることで、メモリの解放やバッファのフラッシュが行われ、データの喪失を防ぎます。

file = open('example.txt', 'r')
try:
    # ファイルを読み取る処理
    content = file.read()
finally:
    file.close()  # ファイルを閉じる

これで、Python における基本的なファイルの読み書きについて学びました。学んだことを実際に Python を使って試してみてください。