【Python】ファイル読み込みをしたい

【Python】ファイル読み込みをしたい

はじめに

コジマです。

Pythonを使ってファイルの読み込みをしていこうと思います。

基本的な処理の流れ

  1. ファイルを開く(open関数)
  2. for文で一行ずつ読み込む
  3. ファイルを閉じる(close関数)

以上。
他にも調べると色々やり方はあるけど、今回は3パターン紹介します。

サンプルコード

多分一番簡単なやつ

open関数でファイルを開いて、
for文で読んで
close関数で閉じます。

#############
# 多分一番簡単
#############

#ファイルを開く
hoge = open("hoge.txt","r")

#ファイルを読み込む
for line in hoge:
    print("--------------") #一行ごとに読み込んでることをわかりやすくしてるだけ
    print(line)
    
# ファイルを閉じる
hoge.close()

出力

こんな感じで出力されます。

--------------
1行目のテキスト

--------------
2行目のテキスト

--------------
3行目のテキスト

--------------
4行目のテキスト

--------------
5行目のテキスト

--------------
6行目のテキスト

--------------
7行目のテキスト

--------------
8行目のテキスト

--------------
9行目のテキスト

--------------
10行目のテキスト

出力できたけど、改行が混ざってますね。
ちょっと見た目がカッコ悪いです。

改行を消す方法があります。

strip関数で改行を消す

改行を消すためにはstrip関数を使用します。

#############
# 改行を消す
#############

#ファイルを開く
hoge = open("hoge.txt","r")

#ファイルを読み込む
for line in hoge.readlines():
    print("--------------")
    print(line.strip()) # strip関数を使う
    
# ファイルを閉じる
hoge.close()

出力

このように改行を消すことができます。

--------------
1行目のテキスト
--------------
2行目のテキスト
--------------
3行目のテキスト
--------------
4行目のテキスト
--------------
5行目のテキスト
--------------
6行目のテキスト
--------------
7行目のテキスト
--------------
8行目のテキスト
--------------
9行目のテキスト
--------------
10行目のテキスト

一回一回closeしていくのめんどくさいですよね。
それを解消する方法があります。

withを使ってcloseを省略

withを使用するとclose関数が不要になります。
with句を抜けるタイミングでファイルがクローズされます。

#############
# withを使う
# close不要になる
#############

#ファイルを読み込む
with open("hoge.txt","r") as f:
    for line in f:
        print("--------------")
        print(line.strip()) # strip関数を使う

出力はさきほどと同じになるので省略です。
withを使ったときはas fとするのが通例?っぽいので倣いました。
もちろんas hogeとしても問題ないです。

さいごに

今回はファイルを読み込む方法について書きました。

ポイントとしては

  • openでファイルを開いてcloseで閉じる
  • strip関数で改行を消す
  • withを使えばclose不要になる

こんな感じです。

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


Pythonカテゴリの最新記事