Pythonプログラム、組み込みモジュール( ConfigParser)、または独立したプロジェクト(ConfigObj )の設定ファイルを作成するには、どちらが適していますか?
3 に答える
最近、configparserからconfigobjに切り替えましたが、これに切り替えたことに興奮しています。
私にとって大きな違いは、configobjのバリデーターです。これにより、(1)各エントリのタイプと許容値を非常に簡単に/簡潔に定義し、(2)デフォルトを設定できます。
これらの2つの機能により、多くのコードが節約され、多くの問題が発生するのを防ぐことができます。さらに、コードの複雑さの観点からconfigobjを使用するための余分なオーバーヘッドは実際にはなく、ライブラリは非常に小さいです。
Pythonのバージョンによっては、これがあなたの質問に答えるかどうかは議論の余地があるかもしれませんが、ConfigParserとConfigObjを少し見てから、Python3バージョンのConfigParserであるconfigparserに落ち着きました。PyPIにはバックポートされたバージョンもあります。
ConfigParserは私には面倒に思えましたが、おそらく(あえて言うと)非Pythonであり、ConfigObjを使用すると、リストで難解な問題が発生しました(私の場合は非常に長くなるため、リストを垂直に配置できるようにしたいと思います)。最新バージョンが2年以上前に公開されたことを助けてください。ただし、configparserのAPIはConfigObjのAPIと同じくらい洗練されていて(機能が豊富ではありませんが)、Python 3に移行すると、おそらく組み込みバージョンに簡単に切り替えることができます。
ちなみに、これまでのところうまく機能しています。
これまでのところ、使用するたびに ConfigParser で十分であることがわかりました。さらに、これは付属のバッテリーであり、サードパーティのライブラリではありません.
認めざるを得ませんが、ConfigObj のドキュメントにあるコード サンプルを比較すると、ConfigParser は本当につまらないものに見えます。.ini ファイルを頻繁に操作するスクリプトの場合、私はおそらくそれを好みます。