このページではPythonを使ったファイルの開き方について解説していきます
Pythonを使ってファイルを取り扱いたいとき参考にしてみてください
Pythonでファイルを開く
ファイルを開く前の準備
Pythonでファイルを開く前に当たり前といえば当たり前ですが、読み込み用のファイルを準備しましょう
ここではこんなテキストファイルを準備してみました
Good afternoon.
It's been cold lately.
Take care of your health.
Let's stay in good health!
ファイル名は「sample.txt」とします
ファイルを開く
Pythonでファイルを開く場合はopen関数を使用し、そこで生成されたファイルオブジェクトに対してread関数を使用することでファイルの中身を読み込むことができます
ファイルの中身を開くかんたんなサンプルコードを準備してみます
open_file = open("sample.txt", "r")
print(open_file.read())
読み込む対象のファイルは上で作成したsample.txtを使用します
実行するPythonファイルと同じフォルダ階層にあるものとして使用します
もし任意の箇所のファイルを読み込みたい場合はファイル名を指定している箇所にファイルパスを指定するとそのまま読み込むことも可能ですので興味のある方は試してみてください
ファイルの中身がprint文で出力されたことが確認できたと思います
ファイルから指定文字数分読み出す
指定した文字数分だけファイルから文字を取得することもできます
ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
ファイルオブジェクト変数.read([取得したい文字数])
使用シーンが限られるかもしれませんがread関数の引数として数値を入れると、先頭から指定した文字数分取得することができます
試しにやってみましょう
open_file = open("sample.txt", "r")
print(open_file.read(10))
読み込むファイルは最初のファイルと同じものを使用します
では実行してみましょう
実行の結果「Good afternoon.」の最初の10文字分「Good after」が出力されました
補足になりますが空白も1文字分でカウントされます
ファイルから文字を1行ずつ読み込む
よく使いそうなのがファイル内の文字列を1行ずつ抽出する方法です
方法は2パターンありますのでそれぞれ紹介していきます
readline()関数を使用する場合
まず1つめのパターンはreadline()関数を使用します
ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
ファイルオブジェクト変数.readline()
readline()関数を使用するとファイルの1行目の文字列を取得することができます
事前準備で用意したファイルをまたもや使いまわします
open_file = open("sample.txt", "r")
print(open_file.readline())
では実行してみましょう
事前に準備したテキストファイルの最初の行にある文字列
Good afternoon.
が表示されることが確認できました
ちなみにその次の行を表示したいときはさらにreadline()関数を続けます
open_file = open("sample.txt", "r")
print(open_file.readline())
print(open_file.readline())
では実行してみます
間に改行が含まれていますが2行分の文字列が抽出されることがわかりました
forを使用する
数行であればreadlineでも十分そうですが、だいたいはこちらのほうが使用する頻度が高そうです
ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
for 読み出し変数 in ファイルオブジェクト変数:
文字列を読み出すための処理
for文を使用することで読み込んだファイルの文字列を1行ずつ最初から最後まで抽出することができます
サンプルコードはこちら
open_file = open("sample.txt", "r")
for read_data in open_file:
print(read_data)
では、実行してみましょう
事前準備で作成したテキストファイルの文字列がそれぞれ出力されたことが確認できました
Pythonでファイルを開いた後は…
ファイルをcloseする
ファイルを開いて読み出したい内容を取得した後はファイルオブジェクト変数をクローズしましょう
クローズを実施していないとファイルがロックされてしまったり読み書きしたファイルが最新化されなかったりしますのでPythonに限らずプログラムによるファイルへのアクセス時はクローズ処理を必ず行うことを心がけましょう
ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
~処理
ファイルオブジェクト変数.close()
サンプルコードはこちら
open_file = open("sample.txt", "r")
for read_data in open_file:
print(read_data)
open_file.close()
さいごに
この記事ではPythonでファイルを読み込む方法について解説していきました
それでは、またノシ
ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
ファイルオブジェクト変数.read()