argprogrammerArgprogrammer es una pequeña libreria para el control de los argumentos proporcionados por el usuario.InstalaciónArgprogrammer es fácil de instalar y no requiere de librerias externasgit clone https://github.com/DtxdF/argprogrammer.git
cd argprogrammer
python3 # o pythonCompatibilidad con Python2.x y Python3 :'DA argprogrammer no le importa sí estás usando la versión 2 o 3, puedes usar todas sus funciones sin problemasTutorialTe muestro un pequeño tutorial para crear nuestra primera aplicación de forma fácil y sencillaimport argprogrammer
group_optionals = 'opcionales'
parser = argprogrammer.Parser()
parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
parser.add(['-t', '--text'], 'text', 'El texto a mostrar', require=True)
args = parser.parse_args()
text = args.text
print('Texto: %s' % (text))Sí ejecutamos en la terminal: "python o python3 <script>.py -h o --help", veremos ésto: Parámetros principales:
-----------------------
-t, --text El texto a mostrar
opcionales:
----------
-h, --help Mostrar ayuda y sale¿Eso es todo?NO, además podemos especificar el tipo de dato y si lo requerimos o no.import argprogrammer
import requests
group_optionals = 'opcionales'
parser = argprogrammer.Parser()
# Opcionales
parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
parser.add(['-v', '--verbose'], 'verbose', 'Activar modo verboso', action=True, type=bool, group=group_optionals)
parser.add(['-H', '--headers'], 'headers', 'Cambiar los encabezados predeterminados', type=dict, group=group_optionals)
# Requeridos
parser.add(['-u', '--url'], 'url', 'Dirección URL', require=True)
args = parser.parse_args()
url = args.url
verbose = args.verbose
headers = args.headers
if (verbose):
print('Haciendo una petición a: {}'.format(url))
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":python3 <script>.py -u https://www.whatsmyua.info/api/v1/ua -v -H "User-Agent=Hello Friend :D"Te lo muestra en formato: JSONPodemos hasta incluso hacer que el usuario ingrese sólo algunos datos en un parámetro:import argprogrammer
group_optionals = 'opcionales'
parser = argprogrammer.Parser()
# Opcionales
parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
# Requeridos
parser.add(['-fruta'], 'fruta', 'Que te gusta comer entre: manzana, durazno, patila', uniqval=['manzana', 'durazno', 'patilla'], require=True)
args = parser.parse_args()
fruta = args.fruta
print('Te gusta comer: {}'.format(fruta))
python3 <script>.py -fruta patilla
Te gusta comer: patillaEn caso de que el usuario no ingrese un valor correcto se muestra lo siguiente:python3 <script>.py -fruta banana
<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/oTipos de datosArgprogrammer 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.ObjetivoEs 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
You are not allowed to view links.
You are not allowed to view links.
Register or Login or 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
git clone https://github.com/DtxdF/argprogrammer.git
cd argprogrammer
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
import argprogrammer
group_optionals = 'opcionales'
parser = argprogrammer.Parser()
parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
parser.add(['-t', '--text'], 'text', 'El texto a mostrar', require=True)
args = parser.parse_args()
text = args.text
print('Texto: %s' % (text))
Sí ejecutamos en la terminal: "python o python3 <script>.py -h o --help", veremos ésto:
Parámetros principales:
-----------------------
-t, --text El texto a mostrar
opcionales:
----------
-h, --help Mostrar ayuda y sale
¿Eso es todo?
NO, además podemos especificar el tipo de dato y si lo requerimos o no.
import argprogrammer
import requests
group_optionals = 'opcionales'
parser = argprogrammer.Parser()
# Opcionales
parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
parser.add(['-v', '--verbose'], 'verbose', 'Activar modo verboso', action=True, type=bool, group=group_optionals)
parser.add(['-H', '--headers'], 'headers', 'Cambiar los encabezados predeterminados', type=dict, group=group_optionals)
# Requeridos
parser.add(['-u', '--url'], 'url', 'Dirección URL', require=True)
args = parser.parse_args()
url = args.url
verbose = args.verbose
headers = args.headers
if (verbose):
print('Haciendo una petición a: {}'.format(url))
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":
python3 <script>.py -u https://www.whatsmyua.info/api/v1/ua -v -H "User-Agent=Hello Friend :D"
Te lo muestra en formato: JSON
Podemos hasta incluso hacer que el usuario ingrese sólo algunos datos en un parámetro:
import argprogrammer
group_optionals = 'opcionales'
parser = argprogrammer.Parser()
# Opcionales
parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
# Requeridos
parser.add(['-fruta'], 'fruta', 'Que te gusta comer entre: manzana, durazno, patila', uniqval=['manzana', 'durazno', 'patilla'], require=True)
args = parser.parse_args()
fruta = args.fruta
print('Te gusta comer: {}'.format(fruta))
python3 <script>.py -fruta patilla
Te gusta comer: patilla
En caso de que el usuario no ingrese un valor correcto se muestra lo siguiente:
python3 <script>.py -fruta banana
<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.
@Kasey00 (https://underc0de.org/foro/index.php?action=profile;u=97718)
Un placer como siempre :D