2009-08-04 8 views
5

私はxmlでないcのための良い設定ファイルライブラリを探しています。最適なのは、Pythonバインディングも持っているのが本当に好きです。私が思いついた最善の選択肢は、cとpythonの両方でJSONライブラリを使用することです。何をお勧めしますか、あるいはどのような方法で設定を読み書きしたいのですか?xmlではない(つまり、Pythonバインディングを持つ)Cのための良い設定ファイルライブラリは何ですか?

+3

JSONの問題点を教えてください。これをYAMLに拡張すると、読みやすくなるかもしれません。あなたはどんな問題を予見していますか? –

+0

JSONに何も問題はありません。私はJSONをほとんどすべて好みます。私の唯一の躊躇は、その厳格な構文でした。私は設定ファイルを非プログラマが簡単に読み書きできるようにしたい。 YAMLはまさにそうです!それはまさに私が欲しいものです、ありがとう! – user19745

答えて

0

ConfigObjのような純粋なpythonソリューションを使用して、単にCPython APIを使用して設定を問い合わせることができます。これは、アプリケーションがPythonを埋め込んでいることを前提としています。そうでなければ、とにかくPythonを出荷しているのであれば、それを埋め込むだけでも意味があります。ダイナミックリンクの場合、C .exeはそれ以上に大きくなることはありません。あなたは自由にPythonのすべての柔軟性を得ることができます。

0

techieによって嫌われていて、マイクロソフトから否定されているにもかかわらず、INIファイルは、理解しやすく編集しやすいので、実際にはユーザーに人気があります。ライブラリがまだそれらをサポートしていない場合、パーザを書くのも非常に簡単です。

+1

-1:iniファイルには、実際には単純な場合を除いて動作が困難な奇妙な制限があります。これらの単純なケースでは、代入文でいっぱいのPythonファイルが良いかもしれません。 –

+0

彼らは、PHPやSambaなどでうまく動作しているようです。そしてそれらの奇妙な制限は何ですか? –

+0

INI(configfileで解析される)の構造はフラットです。構造はありません。したがって、セクションには構造体を組み込む複合名があります。たとえば、ロギング初期化ファイルは、セクション名が他のini設定に依存するため、正しく編集することは困難です。 –

1

あなたは、Pythonと結婚していない場合は、Luaを試してみてください。もともとは設定用に設計されていました。

関連する問題