我正在编写一个将在多种表单上运行的测试。我创建了一个批处理文件,它将发送包含表单名称的参数(因此从技术上讲,每个批处理文件仅运行一次测试)。我为每个测试都有一个字典,我想在其中匹配参数的输入。假设我有:
import sys
form1 = {
a = 3,
b = 4
}
form2 = {
a = 7,
b = 8
}
args = sys.argv[1] #this would be the form input as a string; example: "form1"
我想要一种方法让它知道“form1”与字典form1匹配。显然,我可以做这样的事情:
if args == "form1":
form = form1
elif args == "form2":
form = form2
...
但是,有了 27 个测试,我宁愿不必处理这个问题。有更好的方法吗?大致如下:
form = matchvar(args)
runtest(form)
谢谢。
最佳答案
我敢推荐一本字典中的字典吗?
formdict = { "form1": form1, "form2": form2 }
然后您可以使用 formdict.get(args,[])
访问正确的字典。
>>> formdict["form1"]["a"]
3
>>> formdict["form2"]["a"]
7
关于Python 将字符串输入与现有字典匹配的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24828384/