Python: Choose function in command line argument
在一个python程序中(有多个用户定义的函数),我想通过命令行参数指定要使用的函数。例如,我在python程序中有以下函数func1()、func2()、func3(),目前我使用的是以下技术:
1 | python prog.py -func func2" |
我的程序是这样的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from __future__ import division import numpy as np import argparse parser = argparse.ArgumentParser(description='') parser.add_argument('-func', help='') args = parser.parse_args() func_type = globals()[args.func]() def func1(): print"something1" def func2(): print"something2" def func3(): print"something3" func_type() |
号
我得到以下错误:
1 | KeyError: 'func2' |
如果有人能告诉我如何实现所需的功能,我将不胜感激。
与
您要查找的函数尚未定义。将函数定义移到此行上方。
您正在调用函数,而不是在变量