如何在python程序中自定义python命令行输入参数及相关提示呢?让我们来学习一下吧。
1.首先明确用到的模块,要导入optparse和sys模块,前者用于解析参数,后者用于获取终端参数。
2.其次编写readcommand函数,具体实现如代码所示,大致流程可理解为:编写提示词->添加可选参数项->解析参数,并取得参数->返回处理参数后得到的字典,便于后续调用。
import sys
def default(str):
return str + ' [Default: %default]'
def readcommand(argv):
"""首先定义提示文本,然后创建parser解析器,之后添加可选项,然后用parse_args对参数进行解析,
结果存在第一个返回值options,最后调用即可"""
from optparse import OptionParser
usageStr = """a study of the command line"""
parser=OptionParser(usageStr)
parser.add_option('-n', '--numGames', dest='numGames', type='int',help=default('the number of GAMES to play'), metavar='GAMES', default=3)
parser.add_option('-g','--goal',dest='goal',type='string',help=default('the goal of the game'),metavar='GOALS',default='eat all the food')
options, otherjunk = parser.parse_args(argv)
if len(otherjunk) != 0:
raise Exception('Command line input not understood: ' + str(otherjunk))
args = dict()
args['numGames']=options.numGames
args['goal']=options.goal
return args
if __name__== "__main__":
args=readcommand(sys.argv[1:])
print(args['numGames'])
print(args['goal'])