0

我有一个名为“parameters.py”的python文件:

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

我想导入这个文件,并通过它的值找到键名。

就像是:

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

这不是真的有效(方法没有成员iteritems ...)

感谢帮助!

4

2 回答 2

5

您可以循环dir(parameters)获取密钥,或vars(parameters).iteritems(). 但是,您将不得不跳过一些成员:

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

对于实际使用,我建议将 wrappinggood和存储在模块中:badokdictparameters

# 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 回答