Python | ファイルの中身を取得する方法

2023-02-26Python ファイル・ディレクトリ,Python

Python | ファイルの中身を取得する方法

Pythonのopen()関数や読み込み関数を使ってファイルの中身を取得する手順とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

ファイルの中身を取得する

Pythonでファイルの中身を取得するにopen()関数でファイルを開いた後、読み込み関数を使って実装します。

このコードは以下の流れで記述・処理を実行します。

  1. open()の読み込みモードでファイルを開く
  2. with構文でファイルの閉じ忘れを回避する
  3. as fileとして変数名「file」にファイル情報を格納
  4. read()またはreadline()、readlines()でファイルの中身を読み込む

以下の内容を持つテキストをサンプルコードで利用しています。

apple
banana
pine

open()関数の第一引数にファイルのパス、第二関数にはファイルを開く際のモード、内容の読み込み処理であれば「r」を指定します。

ファイルの中身を全て取得する場合

ファイルの中身を全て取得する場合は、read()関数が利用可能です。

下記サンプルコードでは、read()関数を使ってファイル内のデータを全て読み込んでいます。

with open("test.txt", "r") as file:
	# すべて取得する
	file_data = file.read()

print(file_data)
# apple
# banana
# pine

ファイルから一行目を取得する場合

ファイルを一行目だけ読み込む場合はreadline()関数を使って以下のように記述します。

with open("test.txt", "r") as file:
	# 行毎にすべて取得する
	file_data = file.readlines()

print(file_data)
# apple

ファイルから行単位で複数行取得する場合

ファイルを一行ずつ、かつ複数行読み込む場合はreadlines()関数を使って以下のように記述します。

with open("test.txt", "r") as file:
	# 行毎にすべて取得する
	file_data = file.readlines()

print(file_data)
# ['apple\n', 'banana\n', 'pine']

改行コードを取り除きたい場合は、strip()関数を使って以下のように記述する事ができます。

with open("test.txt", "r") as file:
	# 行毎にすべて取得する
	file_data = file.readlines()

# 改行コードを取り除く
file_data = [line.strip() for line in file_data]

print(file_data)
# ['apple', 'banana', 'pine']