Unicode可以在python中调用

时间:2015-03-12 12:17:18

标签: python

我使用Python编写的方法,如one()two()three(x)

在我的JSON配置文件中,我有x=oney=twoz=three

然后Python代码如下:

        temp=json.load(above json file)
        a=temp["x"]
        a()

上面的代码给出了错误:

  

错误:Unicode无法调用。

请仔细研究并帮助我解决这个问题。

1 个答案:

答案 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()