【发布时间】:2021-09-16 16:24:06
【问题描述】:
我希望能够添加多对开始日期和结束日期作为参数,但我不确定如何。
目前我的代码如下:
if __name__ = "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--start_date', type = str)
parser.add_argument('--end_date', type = str)
stdin_args = parser.parse_args()
do_function(...)
但我希望能够添加多对开始日期和结束日期,使用类似n_date_pairs 的参数,将整数作为我要输入的日期对数。比如,
python main.py --n_date_pairs 3 --start_date_1 2020-01-02 --end_date_1 2020-01-04 --start_date_2 2021-03-24 --end_date_2 2021-04-01 --start_date_3 2021-07-01 --end_date_3 2021-07-05
如何添加?
【问题讨论】:
-
您可以定义一些自定义格式字符串类型参数,然后解析该字符串。无需依赖模块内置机制。
-
这能回答你的问题吗? Dynamic arguments for Python's argparse
-
如果您指定
action='append'并重复参数,您将获得可以迭代的列表。 -
只是一个参数
--date_ranges并为其分配多个日期范围怎么样。例如。--date_ranges 2020-01-02/2020-01-04 2021-03-24/2021-04-01 2021-07-01/2021-07-05。要拥有多个值,只需add_argument('--date_ranges', nargs='*')。