私自身のLinuxディストリビューション用の設定プログラムを書いています。構成は、同様のオプションをグループ化するセクション:general, networking, session, etc.
に分かれています。例えば。一般的なセクションではコンピュータname, description, workgroup, language
オプションがあります。Pythonでいくつかのアクションをグループ化するクラス
私はすべてのセクションがクラスによって提示されるべきだと思っており、各オプションは対応するプロパティ(getterとsetterかもしれません)を持たなければなりません。また
指定したオプションが有効になっているかどうかをテストする機能があった場合、それは一般化のためにいいだろう(つまり、システムは、このオプションのための要件を満たしている場合)、すなわち:私はこれらのオプションを必要とするよりは何ですか
class General(object):
@property
def name(self):
return self.get_computer_name()
@name.setter
def name(self, name):
self.set_computer_name(name)
def is_option_enabled(self, option):
return True_or_False
(とセクションも)は、対応する翻訳された名前と説明(gettextを使用)とリンクしています。
クラス内のプレゼンテーションレイヤーをハードコーディングするのは良いことではないことを知っています... デザインパターン、一般的なアイデア/テンプレートなどが必要です。これを実装する方法は高品質で管理しやすくなります。
これらのクラス(text、gui、web)のフロントエンドをいくつか作成して、毎回同じコードを繰り返す必要はありません。
私は非常に懸命に考えていますが、残念ながら私はこれを行うか、いくつかの疑問を持っているかのアイデアを持っていない...
ありがとう:)
[configparser](http://docs.python.org/py3k/library/configparser.html)の使用を検討しましたか? –
本当に...何のために?しかし、JSON形式からこれらのオプションをインポートして適用/エクスポートするプログラムを作成します。 – marcinpz
設定をファイルにインポート/エクスポートするには、最初に気になったことがあります.jsonは使用しませんでしたが、std-libでサポートされています。 –