今まで Python で環境変数を取得するときと言えば、こうしていた。
import os
dsn = os.environ.get('DATABASE_URL')
しかし最近になって、 os.getenv
という方法があることを知った。
参考: Pythonのos.getenvとos.environ.getの違い - Qiita
os.getenv
は os.environ.get
と等価なので、上のコードは以下のように書き換えられる。
from os import getenv
dsn = getenv('DATABASE_URL')
公式としてはどちらかが推奨というわけではないらしいが、個人的には os.getenv
の方が「なんのために os を import するのかが明確」という理由で良いと思う。
os モジュールは用途がいくつかあるため import os
とだけ書いてあっても「これ何のためにいるんだっけ」というのがパッとわかりづらいが、 from os import getenv
であれば「環境変数のために import しているのだな」とすぐわかって良い。
※ from os import environ
してもいいが、 callable じゃないオブジェクトを import するのは気持ち悪い (気持ちの問題なのでこのあたりは気にしなければ別に良いのかもしれない)