2

構成ファイルから情報を読み取るsysadminタイプのCLIアプリがあります。以下の構成ファイルの形式を変更できません。

TYPE_A = "value1,value2,value2"
TYPE_A = "value3,value4,value5"
TYPE_B = "valuex,valuey,valuez"

に基づいて、TYPEそれぞれに初期処理を行う必要があります。すべてのステップが完了したら、追加の処理を行う必要があります。選択したオプションに応じて、状態と意図したアクションを出力するか、それらのアクションを実行します。

TYPE_A構成の最初の解析を辞書のリストの辞書に行い、TYPE_BTYPE_C、 などのすべてのインスタンスをそれに関するすべての関連情報で更新したいと思います。次に、完全な状態を出力するか、アクションを実行します (または、何かの状態が正しくない場合は失敗します)。

私の考えでは、次のようになります。

dict
    TYPE_A_list
        dict_A[0] key:value,key:value,key:value
        dict_A[1] key:value,key:value,key:value
    TYPE_B_list
        dict_A[0] key:value,key:value,key:value
        dict_A[1] key:value,key:value,key:value

その中に構成を読み込んでから、キーと値を追加するか、アプリが進行して各タイプを再処理するときに値を更新したいと思います。

最後に私の質問です。

  1. 辞書の各リストを反復処理する方法や、リスト要素を追加してキーと値のペアを追加または更新する方法がわかりません。
  2. 上記で説明したことは、これを行うための最良の方法ですか?

私はPythonにかなり慣れていないので、どんなアドバイスも歓迎します。FWIW、これはpython 2.6になります。

設定ファイルの行について少し説明

    CAR_TYPE = "フォード、マスタング、ブルー、2005"
    CAR_TYPE = "ホンダ、アコード、グリーン、2009"
    BIKE_TYPE = "ホンダ、VTX、ブラック、2006"
    BIKE_TYPE = "ハーレー、スポーツスター、レッド、2010"
    TIRE_TYPE = "170R15、ホワイトウォール"
    
各タイプの値の順序と数は同じです。

4

1 に答える 1

0

2つの異なる割り当てがあることを「覚えておく」必要はありませんTYPE_A-それらを組み合わせることができます。

TYPE_A = "value1,value2,value2"
TYPE_A = "value3,value4,value5"

それらの一方のみ、または両方がsysadmin CLIアプリの実装に依存するため、解析されます。

その場合、データモデルは次のようになります。

dict
    TYPE_A: list(value1, value2, value3)
    TYPE_B: list(valuex, valuey, valuez)

dict.items()そうすれば、非常に簡単に繰り返すことができます。

for _type, values in dict.items():
    for value in values:
        print "%s: %s" % (_type, value)
        # or whatever you wish to do
于 2012-04-28T01:58:01.447 に答える