Python argparse: Make at least one argument required

前端 未结 11 1735
谎友^
谎友^ 2020-12-13 01:39

I\'ve been using argparse for a Python program that can -process, -upload or both:

parser = argparse.ArgumentParser(de         


        
11条回答
  •  难免孤独
    2020-12-13 02:02

    The best way to do this is by using python inbuilt module add_mutually_exclusive_group.

    parser = argparse.ArgumentParser(description='Log archiver arguments.')
    group = parser.add_mutually_exclusive_group()
    group.add_argument('-process', action='store_true')
    group.add_argument('-upload',  action='store_true')
    args = parser.parse_args()
    

    If you want only one argument to be selected by command line just use required=True as an argument for group

    group = parser.add_mutually_exclusive_group(required=True)
    

提交回复
热议问题