7

ソース管理で、ConfigParser で生成された出力ファイルの内容が決して同じ順序ではないことに気付きました。値を変更しなくても、セクション内の場所やオプションが変更されることがあります。

アプリケーションを起動するたびに些細な変更をコミットする必要がないように、構成ファイルで物事をソートしておく方法はありますか?

4

4 に答える 4

9

これは、 Python 3.1および2.7で、順序付けられた辞書の導入により修正されたようです。

標準ライブラリは、いくつかのモジュールで順序付けられた辞書の使用をサポートするようになりました。configparserモジュールはデフォルトでそれらを使用します。これにより、構成ファイルを読み取り、変更してから、元の順序で書き戻すことができます。

于 2009-07-15T22:45:03.197 に答える
2

いいえ。ConfigParser ライブラリは、辞書のハッシュ順に書き込みます。(ソース コードを見ればわかります。) このモジュールには、より良い仕事をする代替モジュールがあります。

見つけてここに追加できるかどうかを確認します。

http://www.voidspace.org.uk/python/configobj.html#introductionは私が考えていたものです。ドロップインの交換ではありませんが、非常に使いやすいです。

于 2009-07-15T21:09:51.330 に答える
-1

ConfigParser は ini ファイル形式に基づいており、その設計では順序に敏感ではないはずです。構成ファイルの形式が順序に依存する場合、ConfigParser は使用できません。ステートメントの順序に敏感なiniタイプのフォーマットを使用している場合、人々を混乱させる可能性もあります...

于 2009-07-15T21:55:54.763 に答える