¿Hay alguna manera de hacer que la impresión óptica de Python imprima el valor predeterminado de una opción o indicador al mostrar la ayuda con --help?¿Puede el optparse de Python mostrar el valor predeterminado de una opción?
Respuesta
Trate de usar el marcador de posición %default
cadena:
# This example taken from http://docs.python.org/library/optparse.html#generating-help
parser.add_option("-m", "--mode",
default="intermediate",
help="interaction mode: novice, intermediate, "
"or expert [default: %default]")
Y si es necesario el acceso mediante programación a los valores por defecto, se puede llegar a ellos a través del atributo defaults
del analizador (es un dict)
Y si desea agregar valores predeterminados automáticamente a todas las opciones que ha especificado, puede hacer lo siguiente:
for option in parser.option_list:
if option.default != ("NO", "DEFAULT"):
option.help += (" " if option.help else "") + "[default: %default]"
The co Los detalles de su pregunta ya indican que hay otra forma de analizar argumentos llamados argparse. Se ha introducido en Python 3.2. De hecho, desaprueba optparse
pero se usa de manera similar.
argpass
viene con diferentes clases de formato y, por ejemplo, argparse.ArgumentDefaultsHelpFormatter
también imprimirá los valores predeterminados sin tener que manipular manualmente la cadena de ayuda.
objetos ArgumentParser permiten que el formato de ayuda para ser personalizado por especificando una clase de formato alternativo. Actualmente, hay cuatro dichas clases:
argparse.RawDescriptionHelpFormatter clase
argparse.RawTextHelpFormatter clase
argparse.ArgumentDefaultsHelpFormatter clase
argparse.MetavarTypeHelpFormatter clase
Un ejemplo de los documentos de python:
>>> parser = argparse.ArgumentParser(
... prog='PROG',
... formatter_class=argparse.ArgumentDefaultsHelpFormatter)
>>> parser.add_argument('--foo', type=int, default=42, help='FOO!')
>>> parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!')
>>> parser.print_help()
usage: PROG [-h] [--foo FOO] [bar [bar ...]]
positional arguments:
bar BAR! (default: [1, 2, 3])
optional arguments:
-h, --help show this help message and exit
--foo FOO FOO! (default: 42)
Añadir argparse.ArgumentDefaultsHelpFormatter a su analizador
import argparse
parser = argparse.ArgumentParser(
description='Your application description',
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
de documentación:
ArgumentDefaultsHelpFormatter añade automáticamente la información sobre valores por defecto para cada uno de los mensajes argumento de ayuda: Blockquote
- 1. Lista Optparse de Python
- 2. Python optparse valores de instancia
- 3. Wicket Opción desplegable para establecer el valor predeterminado
- 4. Con el módulo optparse de Python, ¿cómo se crea una opción que toma una cantidad variable de argumentos?
- 5. DropdownListPara el valor predeterminado
- 6. ¿Procesar valores múltiples para una sola opción usando getopt/optparse?
- 7. Python optparse metavar
- 8. Python optparse, valores predeterminados y opciones explícitas
- 9. Configurar el controlador de opción predeterminado para OptionParser de Ruby
- 10. Python: cambio de optparse a argparse
- 11. ¿Una mejor manera de probar el valor de una Opción?
- 12. ¿Es posible hacer una opción en optparse obligatoria?
- 13. CLI de Apache Commons: tipo de opción y valor predeterminado
- 14. Python optparse y espacios en un argumento
- 15. python - devolviendo un valor predeterminado
- 16. bash asignar el valor predeterminado
- 17. use el decorador de python para reemplazar automáticamente el valor predeterminado del argumento de función?
- 18. Constructor Python y valor predeterminado
- 19. ¿Se puede utilizar el resultado de una llamada de función como valor de parámetro predeterminado?
- 20. python - beginner - integrando optparse en un programa
- 21. Valor predeterminado para el parámetro de función?
- 22. Modificar el valor hash predeterminado
- 23. sinónimo más corto para el valor predeterminado
- 24. Valor predeterminado para el constructor de atributos?
- 25. Magento: Obtener el valor de una opción Atributo EAV/Seleccionar
- 26. ¿De dónde viene el valor predeterminado mb_internal_encoding()?
- 27. WPF: definir el valor predeterminado de enlace
- 28. El valor predeterminado de ListPreference no aparece
- 29. Valor predeterminado de MySQL como el valor de otro campo
- 30. C# versión de optparse?
Vea este SO: http://stackoverflow.com/questions/12151306/argparse-way-to-include-default-values-in-help –
Si alguien busca lo mismo para Argparse: [Argparse: forma de incluir valores predeterminados en '--help'?] (http://stackoverflow.com/a/12151325/562769) –