Quiero usar argparse para analizar las líneas de comandos de forma "arg = val" Por ejemplo, el uso sería:Usando argparse para analizar los argumentos de forma "arg = val"
script.py conf_dir=/tmp/good_conf
para lograrlo , estoy haciendo esto:
desc = "details"
parser = argparse.ArgumentParser(description=desc, add_help=False)
args = parser.add_argument("conf_dir")
args = parser.parse_args("conf_dir=FOO".split())
args = parser.parse_args()
print args.conf_dir
Pero, el problema es que, en la invocación del script con:
python script.py conf_dir=/tmp/good_conf
me sale:
conf_dir=/tmp/good_conf
Cuando, como espero
/tmp/good_conf
Entonces, la pregunta es: ¿Puedo usar argparse a analizar la línea de cmd, que contiene pares de nombre y valor? ¿Algún consejo?
Editar: La razón por la que quiero hacer esto y no algo como --conf_dir =/tmp/good_dir es porque hay otras herramientas (escritas en otro idioma), que usa conf_dir =/tmp/good_dir estilo de argumentos . Para mantener la coherencia, debía analizar los argumentos de esta manera.
no tengo 'argparse' disponibles para comprobar esto, pero no debería' "conf_dir = FOO" .split() '' ser en realidad "conf_dir = FOO ".split ('=')'? – lafras