我想使用一个唯一的配置我的脚本的输入。例如,如果type = ve1,则使用config set for ve1等。我认为解决这个问题的最好方法是使用字典:
veh1 = {
"config_1":1,
"config_2":"a"
}
veh2 = {
"config_1":3,
"config_2":"b"
}
type = "veh1"
print(type["config_1"])
我希望打印1
,但是我得到了一个错误,因为python试图切片字符串veh1
,而不是调用名为veh1
的字典
TypeError: string indices must be integers, not str
我试了str(type)没有成功。我可以用if遍历字典名称来设置配置,但那会很混乱。是否有一种方法可以强制Python将变量名解释为字面Python字符串以调用字典或子例程?
您需要删除括号并在字典的元素之间添加逗号。所以它会像这样:
veh1 = {
"config_1":1,
"config_2":"a"
}
veh2 = {
"config_1":3,
"config_2":"b"
}
type = veh1
print(type["config_1"])
正如jarmod所建议的那样,您可能需要像这样的字典:
dicts= {"veh1": {"config_1":1, "config_2":"a"}, "veh2": {"config_1":3, "config_2":"b"}}
type = "veh1"
print(dicts[type]["config_1"])