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]()
相关的简单错误
您要查找的函数尚未定义。将函数定义移至此行上方。
您正在 调用 函数而不是在变量 func_type
.
中保存对它的引用
在一个 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]()
您要查找的函数尚未定义。将函数定义移至此行上方。
您正在 调用 函数而不是在变量
func_type
. 中保存对它的引用