我使用Python编写的方法,如one()
,two()
,three(x)
。
在我的JSON配置文件中,我有x=one
,y=two
和z=three
然后Python代码如下:
temp=json.load(above json file)
a=temp["x"]
a()
上面的代码给出了错误:
错误:Unicode无法调用。
请仔细研究并帮助我解决这个问题。
答案 0 :(得分:2)
你从你的json文件得到的是一个python dict,其中unicode字符串作为值。这些unicode字符串与您的函数名称匹配的事实并不能使unicode字符串"别名"对你的功能 - 你必须自己处理这个映射。你想要的是:
def one():
print "in one"
def two():
print "in two"
def three():
print "in three"
functions = {
"one": one,
"two": two,
"three": three,
}
# directly write it as a python dict
temp = {
"x": "one",
"y": "two",
"z": "three",
}
funcname = temp["x"]
func = functions[funcname]
func()