2017-08-04 4 views
-1

一部のオンスクリーンボタンを設定するために、INIファイルから読み込むGUIに取り組んでいます。私は、INIファイルから返されるいくつかのデータを分離しようとしています。基本的に私は4つのオプションのうちの1つであるボタン "タイプ"を持っており、そのタイプに基づいてGUIはボタンに機能を割り当てます。 (私はINIファイルを使用して、将来的にボタンの能力を変更しやすくしています)Python INIファイル1変数の内容を3つの別々の変数に分割する方法

ボタンのタイプをグループ化し、独自の変数。ここで

は、ボタンの種類のINIファイルです:

[Button1] 
type = Run Mission 

[Button2] 
type = Set Register 

[Button3] 
type = Set Register 

[Button4] 
type = Set Register 

[Button5] 
type = Indicator 

[Button6] 
type = Set Register 

[Button7] 
type = Data 

[Button8] 
type = Data 

[Button9] 
type = Data 

そして、ここでは、私は、このデータをプルするために使用しようとしていたコードです。私はconfigparserを使ってINIファイルを読んでいます。問題は、私がprint kに入ってくるデータをテストすると、type_7, type_9, type_8と可能であれば印刷されるということです。私はそれぞれを自分の変数で必要とするか、何とか分かれています。私はポストを短く保つためにすべてのGUIコードを含んでいませんでしたが、もっとコードが必要な場合は、私に知らせてください。私はPythonの方が新しいと同様の記事の束を見ているが、具体的にこれを行う方法を見つけるように見えることはできません。

type_dict = {} 

    type_dict['type_1'] = config.get("Button1", "type") 
    type_dict['type_2'] = config.get("Button2", "type") 
    type_dict['type_3'] = config.get("Button3", "type") 
    type_dict['type_4'] = config.get("Button4", "type") 
    type_dict['type_5'] = config.get("Button5", "type") 
    type_dict['type_6'] = config.get("Button6", "type") 
    type_dict['type_7'] = config.get("Button7", "type") 
    type_dict['type_8'] = config.get("Button8", "type") 
    type_dict['type_9'] = config.get("Button9", "type") 

    print type_dict 

    """for k, v in type_dict.items(): 
     if v == "Run Mission": 
      print k 

    for k, v in type_dict.items(): 
     if v == "Set Register": 
      print k 

    for k, v in type_dict.items(): 
     if v == "Indicator": 
      print k""" 

    for k, v in type_dict.items(): 
     if v == "Data": 
      print k 

ご協力いただきまして誠にありがとうございます。前もって感謝します!

+0

票の投票のための説明? –

+0

まあ、最後のforループは、複数のキーがv == "Data"の基準を満たしているので、辞書から複数のキーを返します。私は自分の変数でそれぞれを返そうとしていました。これを行う目的は、各タイプの数が動的になる可能性があるため、各タイプの数を知ることに依存しないコードを持つようにするためです。 –

答えて

1

「データ」を値として持つキーのリストを表示します。それはあなたに必要なものを与えますか?

data_buttons = [k for k, v in type_dict.items() if v == "Data"] 
+0

はい、それは私が考えていたように個々の変数に解析できるリストに入っています。提案していただきありがとうございます! –

関連する問題