Scripts
bool_quetion
Modulo de Python para realizar preguntas cuya respuestas son binarias (sí/no o aceptar/cancelar).
Instalación
Utilizando PyP
pip install bool_quetion
Utilizando un entorno virtual
Creando el entorno:
python3 -m venv .venv
Activando el entorno:
source .venv/bin/activate
Instalar bool_quetion volviendo a intentar utilizando PyP:
pip install bool_quetion
Si no quiere utilizar un entorno virtual y no le deja instalar el módulo de manera global,puede utilizar --break-system-packages:
pip install bool_quetion --break-system-packages
Instalar desde repositorios APT
Como root o usando sudo
Añadiendo repositorios APT:
echo "deb https://pablinet.github.io/apt ./" > /etc/apt/sources.list.d/pablinet.list
Configurando la firma pública del repositorio APT con curl
:
curl -fsSL https://pablinet.github.io/apt/pablinet.gpg -o /etc/apt/trusted.gpg.d/pablinet.gpg
O puede utilizar wget
:
wget -O /etc/apt/trusted.gpg.d/pablinet.gpg https://pablinet.github.io/apt/pablinet.gpg
Actualizando repositorios APT:
apt update
Instalar bool_quetion:
apt install python-bool-quetion
Usando el código en Python 3.x
from bool_quetion import true_false
names = []
reply = True
while reply:
element = input ('Enter the full name: ')
names.append(element)
for name in names:
print (name)
reply = true_false('¿Desea continuar?', ['Sí o', 'no'])
else:
reply = True
También es posible personalizar el mensaje de error y resaltar los caracteres que se pueden ingresar.:
reply = true_false('¿Desea continuar?', ['Sí o', 'no'], True)
reply = true_false('¿Desea continuar?', ['Sí o', 'no'], 'Error Key', True)
BONUS TRACK
Utilizando la libería en Bash.
#!/usr/bin/env python3
from sys import argv, exit
from bool_quetion import true_false
if 3 > len(argv) or len(argv) > 5:
print('Error in the number of arguments.')
exit(255)
arguments = argv[1:].copy()
arguments[1] = arguments[1].split('%')
err_number = 1
if len(arguments[1]) == 3 and arguments[1][2].isdecimal():
err_number = int(arguments[1][2])
arguments[1].pop()
if len(arguments) in (3, 4):
if arguments[-1].lower() in ('true', 'false'):
arguments[-1] = arguments[-1].lower() == 'true'
exit(0 if true_false(*arguments) else err_number)
Añadiendo permisos de ejecución:
chmod +x true-false
Ejecutando el script con Bash:
./true-false '¿Desea continuar?' 'Sí o%No'
./true-false '¿Desea continuar?' 'Sí o%No' true
./true-false '¿Desea continuar?' 'Sí o%No' 'Bad key' true
Ejecutar el script con código de error personalizado:
./true-false '¿Desea continuar?' 'Sí o%No%5'
./true-false '¿Desea continuar?' 'Sí o%No%5' 'Bad key'
./true-false '¿Desea continuar?' 'Sí o%No%5' 'Bad key' true