ConfigParserは、Python 用の非常に議論の多いバニラ構成パーサーです。ただし、構成パラメーターを設定する python コードをどこに置く
かは簡単です。import config
config.py
これら 2 つの構成方法の長所と短所は何ですか? それぞれをいつ選択する必要がありますか?
ConfigParserは、Python 用の非常に議論の多いバニラ構成パーサーです。ただし、構成パラメーターを設定する python コードをどこに置く
かは簡単です。import config
config.py
これら 2 つの構成方法の長所と短所は何ですか? それぞれをいつ選択する必要がありますか?
私が見ている最大の問題は、インポートすると何import config
が起こるかわからないということです。はい、スタイル インターフェイスを使用して自然に参照される一連のシンボルを取得します。ただし、構成ファイル内のコードは、誰が何を知っているかを実行することもできます。ここで、ユーザーを完全に信頼しているのであれば、構成ファイルでユーザーが好きなことを何でもできるようにすることは、おそらく良いことです。ただし、数量が不明な場合、またはユーザーを自分自身から保護したい場合は、従来の形式の構成ファイルを使用する方が安全で安全です。.
これは、スクリプトのニーズと目標によって異なります。1 つの方法は実際には「より良い」ものではなく、単に異なるだけです。ConfigParser
ほとんどの pythons 構成パーサー (およびconfig
モジュールを含む) に関する非常に詳細な議論については、以下を参照してください。
「config.py のインポート」は非常にシンプルで柔軟かつ強力ですが、なんでもできるので、config.py が安全な場所にない場合は危険です。
IMO 個人のスタイルの問題になります。サードパーティが構成を編集する予定はありますか? ConfigParser
もしそうなら、それほど技術的ではなく、ターゲットオーディエンスの頭をあまり超えていない、より「自然な」構成スタイルを持つことが理にかなっているかもしれません.
FabricやDjangoなどの多くの人気のあるプロジェクトは、本質的に単なる Python モジュールである「ネイティブ」構成スタイルを使用しています。Fabry には がfabfile.py
あり、Django には がありsettings.py
ます。
全体として、モジュールをインポートするネイティブ アプローチを使用することで、柔軟性が大幅に向上します。これは、インポートする別の Python モジュールであるため、関数やクラスの定義など、そのファイルで必要なことを何でも実行できるためです。 .