進捗

4/3 9:40~10:40 p.338~p.340

例外処理の続き。with文について学習した。以前、スラスラわかるpythonでwith文を学んだときはファイルを閉じる処理を自動で行ってくれると学んだ。今回はその理由がわかった。コンキストマネージャーという機能がその役割を果たすかららしい。

以下の内容は、with文を使って書いたコマンドライン引数でファイルを開くプログラムである。


import sys
with open(sys.argv[1]) as f:
    print(f.read()) #print(f.read(),len(f.read()))にすると全部読み込んでしまいサイズはゼロになる。
    
"""
スクリプトファイルでコマンドライン引数で指定したファイルを開いて読み込む。インタラクティブシェルでファイルを開く場合はf.read()で問題ないが、jupyternotebookやスクリプトファイルではプリント関数をつけないと何も表示されない。
複数のファイルを開く場合にsys.argv[1:]とかくならfor~inを使って要素を取り出さないとリストのままでエラーになる。 """