私はこれに何時間も取り組んでいましたが、うまくいかないので、助けていただければ幸いです!私の質問は、関数.readline()
を使用してテキストファイルの最後まで読み取る方法ですか? .readlines()
も機能することは知っていますが、一度に1行ずつ処理しようとしています。
これまでのところ、私のコードに私が持っているものは次のとおりです。
a = open("SampleTxt.txt","r")
While True:
a.readline()
私の問題は、これを実行すると無限ループが発生することです。もう行を読み取れなくなったら、それを停止してはいけませんか?
a.readline()
は、使用可能なデータがなくなると''
空の文字列を返します。これを確認してから、while
を壊す必要があります。例:
while True:
line = a.readline()
if not line:
break
純粋に学習目的ではない場合は、実際にwith
ステートメントとforループを使用して、ファイルを1行ずつ処理する必要があります。
with open('SampleTxt.txt') as fin:
for line in fin:
pass # do something
あなたの意図はより明確であり、with
ブロックを使用することで、例外またはブロックの終了時にfileobjが解放されます。