質問: [] with open("st.txt", "w") as f:#as fとするのは拡張子がtxtだから? f.write("Hi from Python") with open("st.txt", "r") as f: my_list.append(f.read()) print(my_list) ``` 僕の解釈では、 os.path.join関数でパスを組み立て、st.txtのファイルを作成 ↓ st.txtに"Hi from Python"と書き込み、それを変数fに入れて扱いやすいようにする ↓ readメソッドはファイルを開いた後1回しか使えないからlistに入れておく という感じなのですが、何がどのように動いているのかが今一つイメージできていません。 またタイトルにも書きましたが、as fとして変数fにファイルオブジェクトをなぜ割り当てたのか(初歩的な質問かもしれませんが)もご教示いただければと思います。
回答: 実はこんな感じで書けます。 ``` f = open("st.txt", "w") f.write("Hi from Python") f.close() ``` `with`はブロックを抜けるとき、勝手にcloseしてくれる糖衣構文という認識で問題ありません。 もう少し詳しく知りたいです! ということであれば、検索したら上の方にこんな記事が出てきました。 with構文とは何なのか - 年中アイス でも、これを理解するのは中級者以上でないとなかなかしんどいと思うので、わからなくても良いです。いずれ振り返ったときに「ああ、そういうことだったんだ」ってなれば良いような話題です、これは。