Python: 在命令行参数中选择函数

Python: Choose function in command line argument

在一个 Python 程序中(具有多个用户定义的函数),我 想通过命令行参数指定要使用的函数 。例如,我有以下功能,func1()func2()func3()在我的 Python 程序中,我目前正在使用以下技术:

python prog.py -func func2"

我的程序是这样的:

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

我收到以下错误:

KeyError: 'func2'

如果有人能告诉我如何实现所需的功能,我将不胜感激。

两个与func_type = globals()[args.func]()

相关的简单错误
  1. 您要查找的函数尚未定义。将函数定义移至此行上方。

  2. 您正在 调用 函数而不是在变量 func_type.

  3. 中保存对它的引用