#with構文とは
何かの処理の開始時と終了時に必須の処理を、絶対に実行します
何かの処理の開始時と終了時に必須の処理とは、通信処理やファイル処理やデータベース処理など
###使用方法
with 開始と終了を必要とする処理
###解説
通信処理やファイル処理やデータベース処理など、開始と終了を必要とする処理の先頭にwithを記載する
###実際例
あかさたなはまやらわ
##withを使用しない場合
fileread = open('file.txt', 'r')
print(fileread.read())
fileread.close()
###表示結果
あかさたなはまやらわ
###解説
1行目のfileread = open('file.txt', 'r')では、open関数を利用してfile.txtを読み込む(r)為に開いています(open)。
そして、開いた内容をfileread変数に代入しています。
2行目のprint(fileread.read())では、fileread変数に対して、read関数を使用して読み込みながら、print関数を使用して表示しています。
3行目のfileread.close()では、開いたファイルを閉じています。この処理を忘れるとエラーになります。
##withを使用する場合
with open('fileread.txt', 'r') as fileread:
print(fileread.read())
###表示結果
あかさたなはまやらわ
###解説
1行目のwith open('fileread.txt', 'r') as fileread:では
、open関数を利用してfileread.txtを読み込む(r)為に開いています(open)。
その際、開いたファイル名をasでfileread変数名に代入しています。
先頭にwithを記載しているのでclose()関数の処理は要りません。
2行目のprint(fileread.read())では、fileread変数に対して、read関数を使用して読み込みながら、print関数を使用して表示をしています。
参照
https://techacademy.jp/magazine/15823