はじめに
コジマです。
Pythonを使ってファイルの読み込みをしていこうと思います。
基本的な処理の流れ
- ファイルを開く(open関数)
- for文で一行ずつ読み込む
- ファイルを閉じる(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)を
フォローしてくれたらうれしいです!
以上、コジマでした。