-m http.server
とか
あまり気にせず使ってたけど -m に指定するのは import で指定するモジュールと同じもの
「.」 区切りで拡張子の .py はつけない
フォルダの場合もあるし
import と違ってメインのモジュールとして扱われる
「python3 foo.py」 で実行した foo.py みたいなもの
if __name__ == "__main__":
pass
の if 文が実行される
http.server だとここの処理で 引数からポートなどの設定を受け取ってサーバを起動するようにしてる
https://github.com/python/cpython/blob/3.8/Lib/http/server.py#L1262