ConfigParser は よく議論される Python用のバニラ構成パーサーです。
ただし、単にimport config
どこ config.py
にはpython構成パラメータを設定するコードがあります。
これらの2つの構成アプローチの長所と短所は何ですか?それぞれをいつ選ぶべきですか?
私がimport config
で目にする最大の問題は、あなたが知らないことですwhatをインポートすると発生します。はい、.
スタイルのインターフェースを使用して自然に参照される一連のシンボルを取得します。しかし、構成ファイルのコードは、誰が何を知っているかを行うこともできます。ここで、ユーザーを完全に信頼している場合は、configファイルでユーザーが望むすべての操作を許可することは、おそらく良いことです。ただし、数量が不明な場合、またはユーザーを自分自身から保護したい場合は、より伝統的な形式の構成ファイルを使用する方が安全で安全です。
この完全性は、スクリプトのニーズと目標に依存します。 1つの方法は、実際には「より良い」とは言えません。ほとんどのpython構成パーサー(ConfigParser
およびconfig
モジュールを含む)に関する非常に詳細な説明については、以下を参照してください。
「インポート設定」は非常にシンプルで柔軟かつ強力ですが、何でもできるため、config.pyが安全な場所にない場合は危険な場合があります。
IMOそれは個人的なスタイルの問題に帰着します。サードパーティが構成を編集することを意図していますか?もしそうなら、多分技術的なものではなく、ターゲットオーディエンスの頭から離れすぎない、より「自然な」構成スタイルa ConfigParser
を持つことは理にかなっています。
Fabric や Django などの多くの一般的なプロジェクトは、本質的に単なるPythonモジュールです。「Fabryには_fabfile.py
_およびDjangoには_settings.py
_があります。
全体としては、モジュールをインポートするネイティブアプローチを使用すると、はるかに多くの柔軟性が得られます。これは、ファイル、たとえば、関数、クラスの定義など、やりたいことが何でもできるからです。これは、単なるPythonインポートするモジュール。