【发布时间】:2019-10-29 01:08:16
【问题描述】:
我有以下 JSON 文件:
{
"add1":true,
"add2":false,
"add3":true
}
还有以下 Python 程序:
def add1(n): return n+1
def add2(n): return n+2
def add3(n): return n+3
def score(n):
with open('file.json', 'r') as f:
conf = json.load(f)
for key, value in conf.items()
if value == True:
# add1 and add3 calls only because they're set to True
return (add1(n) + add3(n))
正如代码中所写,我只想在配置 JSON 文件中设置为 True 时调用这些函数。这是正确的方法吗?现有工具是否简化了这种方法,还是我必须手动编写每个案例?
【问题讨论】:
-
如果配置文件中出现
"screw_it":true之类的内容,您希望发生什么?如果"add1":true和"add1":false都不存在怎么办? -
@Goyo 我可能会提出一个我会发现的错误,但我希望用户不要乱用它并输入我将指示的布尔值。
-
然后试试@S.Pellegrino proposes 之类的东西。它比使用
eval或globals()更安全、更易于维护。
标签: python json configuration