Pythonでテキストファイルを読み込み行単位の配列を返す

python コンピュータ
スクリプトに引き渡す設定ファイルの読み込み処理です。

スクリプト

ファイル名:load_file.py

#!/usr/bin/env python3
# coding: utf-8

# テキストファイルのの読み込み
def load_file(text_file):
    with open(text_file,'r',encoding="utf-8_sig") as f:
        result = f.read()
    
    return result.split('\n')
    

if __name__ == '__main__':
    text_file = "./searchword.txt"
    l = load_file(text_file)
    for d in l:
        print(d)

覚書

  • エンコーディングencoding="utf-8_sig"はUTF8のBOMありを指定している。
  • f.read()でファイルを一気に読み込む
  • 読み込んだ文字列をresult.split('\n')で配列化
  • .readline()という一行読み込みのメソッドもあるが文字列の末尾に改行がつく(残る?)
  • .readlines()という配列化までやってくれるメソッドもあるが文字列の末尾に改行がつく
  • print()にも改行ついたりと結構癖がある

コメント