argprogrammer: Parsear argumentos con esta pequeña librería

  • 2 Respuestas
  • 526 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 679
  • Actividad:
    100%
  • Reputación 16
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
argprogrammer

Argprogrammer es una pequeña libreria para el control de los argumentos proporcionados por el usuario.

Instalación

Argprogrammer es fácil de instalar y no requiere de librerias externas

Código: Bash
  1. git clone https://github.com/DtxdF/argprogrammer.git
  2. cd argprogrammer
  3. python3 # o python

Compatibilidad con Python2.x y Python3 :'D

A argprogrammer no le importa sí estás usando la versión 2 o 3, puedes usar todas sus funciones sin problemas

Tutorial

Te muestro un pequeño tutorial para crear nuestra primera aplicación de forma fácil y sencilla

Código: Python
  1. import argprogrammer
  2.  
  3. group_optionals = 'opcionales'
  4.  
  5. parser = argprogrammer.Parser()
  6.  
  7. parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
  8.  
  9. parser.add(['-t', '--text'], 'text', 'El texto a mostrar', require=True)
  10.  
  11. args = parser.parse_args()
  12.  
  13. text = args.text
  14.  
  15. print('Texto: %s' % (text))

Sí ejecutamos en la terminal: "python o python3 <script>.py -h o --help", veremos ésto:

Código: Text
  1.   Parámetros principales:
  2.   -----------------------
  3.  
  4.     -t, --text          El texto a mostrar
  5.  
  6.   opcionales:
  7.   ----------
  8.  
  9.     -h, --help          Mostrar ayuda y sale

¿Eso es todo?

NO, además podemos especificar el tipo de dato y si lo requerimos o no.

Código: Python
  1. import argprogrammer
  2. import requests
  3.  
  4. group_optionals = 'opcionales'
  5.  
  6. parser = argprogrammer.Parser()
  7.  
  8. # Opcionales
  9.  
  10. parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
  11. parser.add(['-v', '--verbose'], 'verbose', 'Activar modo verboso', action=True, type=bool, group=group_optionals)
  12. parser.add(['-H', '--headers'], 'headers', 'Cambiar los encabezados predeterminados', type=dict, group=group_optionals)
  13.  
  14. # Requeridos
  15.  
  16. parser.add(['-u', '--url'], 'url', 'Dirección URL', require=True)
  17.  
  18. args = parser.parse_args()
  19.  
  20. url = args.url
  21. verbose = args.verbose
  22. headers = args.headers
  23.  
  24. if (verbose):
  25.  
  26.    print('Haciendo una petición a: {}'.format(url))
  27.  
  28. print('Datos obtenidos: {}'.format(requests.get(url, headers=headers, verify=False).text))

En la terminal podrias ejecutar la siguiente sentencia para ver algunos de tus datos cómo el "Agente de Usuaro":

Código: Bash
  1. python3 <script>.py -u https://www.whatsmyua.info/api/v1/ua -v -H "User-Agent=Hello Friend <img src="https://underc0de.org/foro/Smileys/default/cheesy.gif" alt="&#58;D" title="Cheesy" class="smiley" />"

Te lo muestra en formato: JSON

Podemos hasta incluso hacer que el usuario ingrese sólo algunos datos en un parámetro:

Código: Python
  1. import argprogrammer
  2.  
  3. group_optionals = 'opcionales'
  4.  
  5. parser = argprogrammer.Parser()
  6.  
  7. # Opcionales
  8.  
  9. parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
  10.  
  11. # Requeridos
  12.  
  13. parser.add(['-fruta'], 'fruta', 'Que te gusta comer entre: manzana, durazno, patila', uniqval=['manzana', 'durazno', 'patilla'], require=True)
  14.  
  15. args = parser.parse_args()
  16.  
  17. fruta = args.fruta
  18.  
  19. print('Te gusta comer: {}'.format(fruta))
  20.  

Código: Bash
  1. python3 <script>.py -fruta patilla
  2. Te gusta comer: patilla

En caso de que el usuario no ingrese un valor correcto se muestra lo siguiente:

Código: Bash
  1. python3 <script>.py -fruta banana
  2. <script>: El valor "banana" no está permitido debido que no es igual a este/estos valor/es "manzana, durazno, patilla"

Se puede personalizar ese mensaje, tranquila/o

Tipos de datos

Argprogrammer acepta algunos tipos de datos, cómo:

  • tuple
  • list
  • str
  • int
  • range
  • dict
  • hex
  • float
  • hex
  • oct

Tal vez pienses, "¿Algunas cosas que mostraste no son funciones?", Sí, en Python, en argprogrammer No.

Objetivo

Es sólo una pequeña libreria que codifique para un proyecto personal y que comparto con la comunidad, no creo que se compare con "argparse" pero puede que sirva.

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Desconectado Kasey00

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    0%
  • Country: 00
  • Reputación 0
    • Ver Perfil
You are not allowed to view links. Register or Login
argprogrammer

Argprogrammer es una pequeña libreria para el control de los argumentos proporcionados por el usuario.

Instalación

Argprogrammer es fácil de instalar y no requiere de librerias externas

Código: Bash
  1. git clone https://github.com/DtxdF/argprogrammer.git
  2. cd argprogrammer
  3. python3 # o python

Compatibilidad con Python2.x y Python3 :'D

A argprogrammer no le importa sí estás usando la versión 2 o 3, puedes usar todas sus funciones sin problemas

Tutorial

Te muestro un pequeño tutorial para crear nuestra primera aplicación de forma fácil y sencilla

Código: Python
  1. import argprogrammer
  2.  
  3. group_optionals = 'opcionales'
  4.  
  5. parser = argprogrammer.Parser()
  6.  
  7. parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
  8.  
  9. parser.add(['-t', '--text'], 'text', 'El texto a mostrar', require=True)
  10.  
  11. args = parser.parse_args()
  12.  
  13. text = args.text
  14.  
  15. print('Texto: %s' % (text))

Sí ejecutamos en la terminal: "python o python3 <script>.py -h o --help", veremos ésto:

Código: Text
  1.   Parámetros principales:
  2.   -----------------------
  3.  
  4.     -t, --text          El texto a mostrar
  5.  
  6.   opcionales:
  7.   ----------
  8.  
  9.     -h, --help          Mostrar ayuda y sale

¿Eso es todo?

NO, además podemos especificar el tipo de dato y si lo requerimos o no.

Código: Python
  1. import argprogrammer
  2. import requests
  3.  
  4. group_optionals = 'opcionales'
  5.  
  6. parser = argprogrammer.Parser()
  7.  
  8. # Opcionales
  9.  
  10. parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
  11. parser.add(['-v', '--verbose'], 'verbose', 'Activar modo verboso', action=True, type=bool, group=group_optionals)
  12. parser.add(['-H', '--headers'], 'headers', 'Cambiar los encabezados predeterminados', type=dict, group=group_optionals)
  13.  
  14. # Requeridos
  15.  
  16. parser.add(['-u', '--url'], 'url', 'Dirección URL', require=True)
  17.  
  18. args = parser.parse_args()
  19.  
  20. url = args.url
  21. verbose = args.verbose
  22. headers = args.headers
  23.  
  24. if (verbose):
  25.  
  26.    print('Haciendo una petición a: {}'.format(url))
  27.  
  28. print('Datos obtenidos: {}'.format(requests.get(url, headers=headers, verify=False).text))

En la terminal podrias ejecutar la siguiente sentencia para ver algunos de tus datos cómo el "Agente de Usuaro":

Código: Bash
  1. python3 <script>.py -u https://www.whatsmyua.info/api/v1/ua -v -H "User-Agent=Hello Friend <img src="https://underc0de.org/foro/Smileys/default/cheesy.gif" alt="&#58;D" title="Cheesy" class="smiley" />"

Te lo muestra en formato: JSON

Podemos hasta incluso hacer que el usuario ingrese sólo algunos datos en un parámetro:

Código: Python
  1. import argprogrammer
  2.  
  3. group_optionals = 'opcionales'
  4.  
  5. parser = argprogrammer.Parser()
  6.  
  7. # Opcionales
  8.  
  9. parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
  10.  
  11. # Requeridos
  12.  
  13. parser.add(['-fruta'], 'fruta', 'Que te gusta comer entre: manzana, durazno, patila', uniqval=['manzana', 'durazno', 'patilla'], require=True)
  14.  
  15. args = parser.parse_args()
  16.  
  17. fruta = args.fruta
  18.  
  19. print('Te gusta comer: {}'.format(fruta))
  20.  

Código: Bash
  1. python3 <script>.py -fruta patilla
  2. Te gusta comer: patilla

En caso de que el usuario no ingrese un valor correcto se muestra lo siguiente:

Código: Bash
  1. python3 <script>.py -fruta banana
  2. <script>: El valor "banana" no está permitido debido que no es igual a este/estos valor/es "manzana, durazno, patilla"

Se puede personalizar ese mensaje, tranquila/o

Tipos de datos

Argprogrammer acepta algunos tipos de datos, cómo:

  • tuple
  • list
  • str
  • int
  • range
  • dict
  • hex
  • float
  • hex
  • oct

Tal vez pienses, "¿Algunas cosas que mostraste no son funciones?", Sí, en Python, en argprogrammer No.

Objetivo

Es sólo una pequeña libreria que codifique para un proyecto personal y que comparto con la comunidad, no creo que se compare con "argparse" pero puede que sirva.

~ DtxdF

Gracias por este programa, estaba encontrando algo como esto.

Conectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 679
  • Actividad:
    100%
  • Reputación 16
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
@You are not allowed to view links. Register or Login

Un placer como siempre  :D
Los seres humanos son robots, cuyo combustible es el afanado dinero.

 

Como ver quien está usando nuestro Wi-Fi (con python)

Iniciado por porni

Respuestas: 8
Vistas: 8631
Último mensaje Agosto 31, 2018, 10:56:25 pm
por hielasangre
Instalar la libreria python-nmap en windows

Iniciado por D3ivid

Respuestas: 0
Vistas: 3593
Último mensaje Marzo 13, 2015, 09:49:20 pm
por D3ivid
pywhatcms - Librería para utilizar la API de WhatCMS.org

Iniciado por HATI

Respuestas: 0
Vistas: 2242
Último mensaje Abril 16, 2019, 07:57:26 am
por HATI
Librería para parsear de forma correcta los mensajes del IRC

Iniciado por Polsaker

Respuestas: 0
Vistas: 1967
Último mensaje Junio 03, 2015, 07:09:51 pm
por Polsaker