Python プログラムの設定ファイルを作成する場合、組み込みモジュール (ConfigParser) と独立プロジェクト (ConfigObj) と、YAML データのシリアル化形式を使用する場合、どちらが優れていますか? 組み込みライブラリではありませんが、ConfigObj は ConfigParser よりも使いやすいと聞いています。また、YAML を使用するには少し時間がかかりますが、PyYAML は簡単に使用できることも読みました。実装の容易さは別として、設定/構成ファイルを作成するための最良のオプションはどれですか?
14910 次
3 に答える
12
ConfigObj の使用は少なくとも非常に簡単で、一般的に ini ファイルは YAML よりもはるかに単純です (そして広く使用されています)。検証、デフォルト値、およびタイプを含む、より複雑なケースでは、ConfigObj は configspec 検証を通じてこれを行う方法を提供します。
ConfigObj を使用して ini ファイルを読み取る簡単なコード:
from configobj import ConfigObj
conf = ConfigObj('filename.ini')
section = conf['section']
value = section['value']
リスト値を自動的に処理し、複数行の値を許可します。構成ファイルを変更した場合は、順序とコメントを維持しながら書き戻すことができます。
型検証の例を含む詳細については、次の記事を参照してください。
于 2010-08-12T00:19:56.277 に答える
5
ConfigParser の API は非常に悪いです。ConfigObj は優れているはずですが、私は使用したことがありません。ini ファイルについては、通常、独自のパーサーを実装しています。
ただし、ini のような形式は、さまざまな型、シーケンス、または再帰的なマッピングをうまく処理できないため、yaml を使用します。エディターでの読み取りと編集は簡単です。これらのファイルを解析するための標準があり、前述の ini のような形式の欠点はありません。
于 2010-08-09T22:28:15.820 に答える