0

I have a python file named "parameters.py" within this:

good = '100'
bad = '110'
ok = '120'

I want to import this file, and to find the key name by it's value.

something like:

import parameters
for k, v in parameters.iteritems():
    if v == '110':
        print str(k)

this not really works (method has no member iteritems...)

thanks for helpers!

4

2 に答える 2

5

ループしdir(parameters)てキーを取得するか、vars(parameters).iteritems(). ただし、一部のメンバーをスキップする必要があります。

>>> dir(settings)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'bad', 'good', 'ok']

実際に使用するために、モジュールに保存されているgoodbadをラップすることをお勧めします。okdictparameters

# parameters.py

HAM = {  # or whatever this represents
    good: '100',
    bad: '110',
    ok: '120',
}
于 2012-05-17T20:15:55.677 に答える
3

vars(parameters)モジュール内のすべての最上位定義のキーと値のペアを含む辞書を取得します。larsmans が指摘しているように__doc__、その他の特殊変数が含まれるため、一部をスキップする必要があります。

于 2012-05-17T20:19:24.900 に答える