Pythonでテキストファイルをリストや配列として読み込む方法
Pythonでテキストファイルを読み込んでデータとして扱う方法はいくつかあります。ここでは、代表的な手法をサンプルコード付きでわかりやすく解説します。
テキストファイル全体を一度に読み込む方法
最も基本的なのは、組み込み関数 open() を使う方法です。以下のコードでは、my_file.txt を読み取りモードで開き、ファイルの内容全体を変数 my_file_data に格納した後、ファイルを閉じています。
f = open('my_file.txt', 'r+')
my_file_data = f.read()
f.close()
read() 関数は、ファイルの内容をすべて一括で読み取ります。読み込まれたデータは文字列として返されるため、行単位で処理したい場合には次に紹介する方法が便利です。
ファイルを行ごとにリストへ格納する方法
ファイルを1行ずつ読み込んでリストに保存したい場合は、readlines() とリスト内包表記を組み合わせます。
f = open('my_file.txt', 'r+')
lines = [line for line in f.readlines()]
f.close()
このコードを実行すると、ファイルの各行が要素となったリスト lines が作成されます。ただし、各行の末尾には改行コード(\n)が含まれるため、必要に応じて strip() メソッドで除去しておくと扱いやすくなります。
f = open('my_file.txt', 'r')
lines = [line.strip() for line in f.readlines()]
f.close()
with文を使ったより安全な書き方(推奨)
上記の例では close() を明示的に呼び出していますが、処理の途中で例外が発生すると、ファイルが閉じられないまま残ってしまう恐れがあります。Pythonでは with 文を使うことで、ブロックを抜けた時点で自動的にファイルが閉じられるため、この書き方が公式にも推奨されています。
# ファイル全体を文字列として読み込む
with open('my_file.txt', 'r') as f:
my_file_data = f.read()
# 行ごとのリストとして読み込む
with open('my_file.txt', 'r') as f:
lines = f.readlines()
なお、readlines() はもともと行のリストを返すため、リスト内包表記を使わずにそのまま変数へ代入しても同じ結果が得られます。
まとめ
- ファイル全体を一括で読み込むなら
read() - 行ごとのリストが必要なら
readlines() - ファイルの閉じ忘れを防ぐため、
with文の使用を推奨
用途に応じてこれらの方法を使い分けることで、テキストファイルの読み込み処理を簡潔かつ安全に実装できます。
-
C++でテキストファイルを読み込む方法を徹底解説【fstreamの使い方】
本記事では、C++を使ってテキストファイルを読み込む方法を、サンプルコードとアルゴリズム付きでわかりやすく解説します。ファイル入出力の基本である fstream クラスの使い方をマスターしましょう。 前提条件(入力) あらかじめ「tpoint.txt」というテキストファイルを作成し、初期内容として以下の文字列を書き込んでおきます。 Tutorials point. 実行結果(出力) プログラムを実行すると、ファイルから読み込んだ内容が画面に表示されます。 Tutorials point. アルゴリズム 処理の流れは以下の通りです。 fstream クラスのオブジェクト newfile を作成
-
Windows 11でフォルダ内のファイル一覧をテキストファイルに書き出す2つの方法
Windows 11のエクスプローラーには、フォルダ内のファイル一覧をそのままテキストファイルにコピーする機能が標準で用意されていません。フォルダ内のファイルをすべて選択して「パスのコピー」を使えばファイルパスを貼り付けることはできますが、ファイル一覧を作成する方法としては決して理想的とは言えません。 Windows 11でフォルダのファイル一覧をテキストファイルに書き出すには、便利な方法が2つあります。1つはコマンドプロンプトでコマンドを実行する方法。もう1つはレジストリを編集して、右クリックメニューに「ファイル一覧をクリップボードにコピー」オプションを追加する方法です。 コマンドプロンプト