python argparse:如何使参数取决于另一个参数的选择

时间:2018-11-13 16:53:36

标签: python argparse

python程序具有多个选项,例如下载数据,构建模型或两者。示例:

parser.add_argument('-m', '--mode', required=True, choices=['dload', 'predict', 'both'],
                    help='dload = download data\n '
                         'predict = build prediction model\n,'
                         'both = download and predict')

但是我要确保其他一些参数仅在下载时需要出现。我可以轻松设置required=False,但这似乎不是一个好的解决方案。

parser.add_argument('-s', '--start-year-month', required=False,
                    help="start year to download data, separate year and month by '- ' "\
                    "ex: 2010-01")

parser.add_argument('-e', '--end-year-month', required=False,
                    help="ending year of data set separate year and month by '- ' " \
                    "ex: 2010-01")

只有当-m的选择为dloadboth时才需要两个以上的参数

0 个答案:

没有答案