Pythonにおけるファイル入出力について解説します。
ファイルを開く
Pythonでファイルを操作するには、まず「ファイルを開く」という作業が必要です。ファイルを開くには、open()
関数を使います。
open()
関数は、第1引数にファイル名、第2引数にモードを指定します。
f = open('sample.txt', 'r') # 読み込みモード f = open('sample.txt', 'w') # 書き込みモード f = open('sample.txt', 'a') # 追記モード
モードは以下のように指定します。
- 'r': 読み込みモード (デフォルト)
- 'w': 書き込みモード。指定したファイルが存在する場合、中身が空になります。
- 'x': 排他的な新規作成モード。指定したファイルが存在する場合、
FileExistsError
が発生します。 - 'a': 追記モード。指定したファイルが存在する場合、最後に追記されます。
- 'b': バイナリモード
- 't': テキストモード (デフォルト)
また、ファイルを開くときにエンコードを指定することもできます。
f = open('sample.txt', 'r', encoding='utf-8')
ファイルを読み込む
ファイルを読み込むには、read()
メソッドを使います。read()
メソッドは、ファイルの全ての内容を文字列として取得します。
f = open('sample.txt', 'r', encoding='utf-8') text = f.read() print(text)
ファイルが大きい場合、read()
メソッドはメモリを消費するため、readline()
メソッドやreadlines()
メソッドを使って、1行ずつ読み込むことができます。
f = open('sample.txt', 'r', encoding='utf-8') line = f.readline() # 1行読み込み while line: print(line) line = f.readline() # 次の行を読み込み
f = open('sample.txt', 'r', encoding='utf-8') lines = f.readlines() # リストに読み込み for line in lines: print(line)
ファイルに書き込む
ファイルに書き込むには、write()
メソッドを使います。
f = open('sample.txt', 'w', encoding='utf-8') f.write('Hello World!\n')
また、print()
関数を使ってファイルに書き込むこともできます。
f = open('sample.txt', 'w', encoding='utf-8') print('Hello World!', file=f)
ファイルを閉じる
ファイルを閉じるには、close()
メソッドを使います。
f = open('sample.txt', 'r', encoding='utf-8') text = f.read() f.close() # ファイルを閉じる
以上がPythonにおけるファイル入出力の基本的な操作です。ファイルを開くときは必ず閉じることを忘れないようにしましょう。