我使用EasyGui允许用户选择多个选项。每个选项都是一个函数,如果他们选择了它,就可以运行它。我尝试使用其他线程中建议的字典,但在实现它时遇到了困难(Module对象不是可调用错误)。我有什么遗漏吗?在
from easygui import *
import emdtest1
import emdtest2
import emdtest3
EMDTestsDict = {"emdtest1":emdtest1,
"emdtest2":emdtest2,
"emdtest3":emdtest3}
def main():
test_list = UserSelect()
for i in range(len(test_list)):
if test_list[i] in EMDTestsDict.keys():
EMDTestsDict[test_list[i]]()
def UserSelect():
message = "Which EMD tests would you like to run?"
title = "EMD Test Selector"
tests = ["emdtest1",
"emdtest2",
"emdtest3"]
selected_master = multchoicebox(message, title, tests)
return selected_master
if __name__ == '__main__':
main()
当你想在dict中放入函数时,你把模块放入dict中。你所做的就相当于说
当然,这毫无意义。如果}是包含函数的.py文件,则需要:
^{pr2}$emdtest1
、emdtest2
和{其中
function_name
是函数的名称。在你需要导入函数而不是导入模块。。。例如,如果您有一个名为emdtest1的文件,其中定义了一个函数emdtest1,则可以使用:
相关问题 更多 >
编程相关推荐