前提・実現したいこと
pythonでファイルの読み込み、書き込みの勉強をしています。
ファイル内の','を' 'に変えるという例題をやっていますが、
少し変えて結果を2回表示させてみようとしています。
以下でtest3.txtは
1,2,3
4,5,6
7,8,9
というテキストファイルを表しています。
発生している問題・エラーメッセージ
1回分しか表示されない
該当のソースコード
python
test_file = open('test3.txt','r') for line in test_file: temp_list = line.strip().split(',') output_line = '\t'.join(temp_list) print(output_line) for line in test_file: temp_list = line.strip().split(',') output_line = '\t'.join(temp_list) print(output_line) test_file.close()
試したこと
1回目のfor文のあとにtest_file = open('test3.txt','r')という文を再度入れると2回分が表示されました。
ですが、元の文ではファイルをcloseしたわけではないから2回目のforブロックも読み込まれるだろうと思っているのでなぜ1回分しか表示されなかったのか理解できません。
また、closeしていないのに同じファイルをopenしている(試してみたこと)というのはどういう状況なのでしょうか。
長文失礼しました。どなたかお力添えをお願いします。
補足情報(FW/ツールのバージョンなど)
python3.9.2 OS Mac
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/09 11:09
2021/03/09 11:24
2021/03/09 12:12