『readlines()』関数を使用してファイルのデータを読込む時に思ったよう動かず、困ったことがあったので、忘れないようにメモとして残したいと思います。
事象
『readlines()』関数を使用してファイルを読込み、件数に応じた処理を行う時にデータが空になっていました。
with open(r'C:\Python\readlines\test.txt', 'r', encoding='UTF-8') as f:
if len(f.readlines()) > 0:
print(f.readlines())
else:
print('END')
原因
『readlines()』関数はファイルポインタを末尾に進める為、2回目以降はデータが空となる仕様です。
対処
『readlines()』関数で読込んだデータを変数に格納してしまえば、データの保持が可能です。
with open(r'C:\Python\readlines\test.txt', 'r', encoding='UTF-8') as f:
data = f.readlines()
if len(data) > 0:
print(data)
else:
print('END')