posicional - pasar variables de php a python
Imprimir argumentos de línea de comandos con argparse? (2)
Si ejecuta argparse dentro de otro script de Python , como cuando lo prueba dentro de unittest , al imprimir sys.argv solo se imprimirán los argumentos del script principal, por ejemplo:
[''C: / eclipse / plugins / org.python.pydev_5.9.2.201708151115 / pysrc / runfiles.py'', ''C: / eclipse_workspace / test_file_search.py'',''port '','' 58454 '','' - verbosidad '','' 0 '']
En este caso, debe usar vars para iterar sobre argparse args:
parser = argparse.ArgumentParser(...
...
args = parser.parse_args()
for arg in vars(args):
print arg, getattr(args, arg)
Gracias a: https://stackoverflow.com/a/27181165/658497
Estoy usando argparse
para analizar los argumentos de la línea de comandos.
Para ayudar a la depuración, me gustaría print
una línea con los argumentos a los que se llamó con el script de Python. ¿Hay una manera simple de hacer esto dentro de argparse
?
ArgumentParser.parse_args
por defecto toma los argumentos simplemente de sys.argv
. Entonces, si no cambia ese comportamiento (pasando algo más a parse_args
), simplemente puede imprimir sys.argv
para obtener todos los argumentos pasados al script de Python:
import sys
print(sys.argv)
Alternativamente, también puedes imprimir el espacio de nombres que devuelve parse_args
; De esa manera, obtienes todos los valores en la forma en que el analizador de argumentos los interpretó:
args = parser.parse_args()
print(args)