【发布时间】:2015-08-20 12:30:34
【问题描述】:
所以我被困在一个我正在从事的项目中,该项目涉及 python 中的命令行。
所以基本上,这就是我想要完成的:
我在一个类中有一组函数,比如说,
def do_option1(self, param1, param2) :
#some python code here
def do_option2(self, param1):
#some python code here
def do_option3(self, param1, param2, param3):
#some python code here
基本上,当用户将filename.py option2 param1 放入命令行时,我希望它调用函数do_option2 并将参数param1 传递给它。
同样,当用户输入filename.py option3 param1 param2 param3时,我希望它执行带有给定参数的do_option3函数。
我知道 python 中有两个模块,称为 argparse 和 optparse,但我很难理解这两个模块,我不确定这两个模块中的任何一个是否能够完成我需要做的事情。
【问题讨论】:
-
从学习的角度来看,我建议首先直接从
sys.argv获取您的信息。您可以使用一系列if语句或字典调度。如果您需要添加更多选项,请花时间学习argparse。您的问题非常适合subparsers模型。
标签: python command-line command-line-arguments argparse optparse