Eu estou tentando criar um analisador de argumento de linha de comando para o meu programa usando o módulo interno do Python argparse
. Eu quero que o usuário seja capaz de executar o meuprograma normalmente, ou para executar uma demonstração. Para executar uma demonstração, é necessário um número de demonstração, que seria um argumento de linha de comando. Então, basicamente, os argumentos da linha de comando podem estar em um desses formatos.
python3 blah.py normal
python3 blah.py demo <demo#>
Como faço para permitir que o usuário use uma das opções, mas não as duas ao mesmo tempo? Além disso, como faço o número de demonstração necessário ao usar a opção de demonstração, mas não ao usar a opção normal?
Desde já, obrigado.
Respostas:
1 para resposta № 1você pode usar o grupo mutuamente exclusivo (eu mudei argumentos para -demo número e -normal):
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("-demo", action="store",
dest="demonum",
help="demo execution")
group.add_argument("-normal", action="store_true",
help="normal execution")
parsed = parser.parse_args()
print(parsed.demonum)
print(parsed.normal)