17 trucos para Python

Sin lugar a dudas Python se ha convertido en el lenguaje más versátil de la última decada.

Es posible utilizarlo para multitud de propósitos; realizar scripts de mantenimiento, crear sofisticadas paginas web, aprendizaje automático (Machine Learning), desarrollo de aplicaciones de escritorio, análisis de datos, juegos, entre otras muchas más.

Y ademas es multi-plataforma, se puede utilizar en Windows, Mac, Linux y dispositivos móviles iOS y Android.

Os traemos 17 útiles trucos para Python:

Generar UUID. Los UUID son identificadores únicos universales compuesto de 32 dígitos hexadecimales, formando 5 grupos separados por guiones, 8-4-4-4-12.

import uuid
nuevo_id = uuid.uuid4()

Ver listas, diccionarios y sobre todo json con más claridad. Para ello utilizamos la función pprint.

import requests
import pprint

url = "https://randomuser.me/api/?results=1"
users = requests.get(url).json()

pprint.pprint(users)

Crea una sola cadena a partir de todos los elementos de una lista.

a = ["Python", "es", "el", "mejor"]
print(" ".join(a))

Listar los archivos de un directorio, sin mostrar los ocultos.

import os

def ls2(path): 
    return [obj.name for obj in os.scandir(path) if obj.is_file() and not obj.name.startswith('.')]

Mover archivos entre carpetas.

import shutil

shutil.move(archivo_origen, archivo_destino)

Iniciar un servidor estático en directorio local.

# En Mac y Linux 
python -m SimpleHTTPServer

# Windows 
python -m http.server

Mostar notificaciones en Mac.

import os

def notify(title, text):
    os.system("""
              osascript -e 'display notification "{}" with title "{}"'
              """.format(text, title))

Explorar las librerías. Muestra un listado con las funciones que contienen.

import requests
import collections

dir(requests)
dir(collections)

Valor por defecto en diccionario, si no existe la clave.

nombres = {1:'Casa', 2:'Patio', 3:'Jardin', 4:'Terraza'}
def  control(code):
    #return 'Zona: %s!' % nombres[code] #Expresión normal
    return 'Zona: %s!' % nombres.get(code, 'El lugar no exite')

print(control(5))

Sumar minutos a una hora.

from datetime import datetime, date, time, timedelta

ahora = datetime.now()
hora_actual = time(ahora.hour, ahora.minute, ahora.second)
minutos = (datetime.combine(datetime.date(ahora), hora_actual) + timedelta(minutes = 30)).time()

print(minutos)

Sumar dias a una fecha.

from datetime import datetime, date, time, timedelta

ahora = datetime.now()
nuevaFecha = ahora.date() + timedelta(days = 10)

print(nuevaFecha)

Evitar la salida de datos en Jupyter Notebook.

%%capture

a = ["Python", "es", "el", "mejor"]
print(" ".join(a))

Eliminar carácteres no alfanumericos.

import re

s = "La casa tiene && $$ %% Goteras de Caballo"
s = re.sub('[^0-9a-zA-Z]+', ' ', s)

print(s)

Reimportar modulo.

reload(modulo)

Emojis. Emojis con caracteres Unicode.

print(chr(128513))

Crea un diccionario a partir de 2 listas.

keys = ["a", "b", "c", "d", "e"]
valores = [1,2,3,4,5]

zipped = dict(zip(keys, valores))

print(zipped)

Ocultar el password al pedirlo por consola.

import getpass
usuario = raw_input("Introduce usuario: ")
password = getpass.getpass("Introduce password: ")
print(usuario, password)



Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share

Crea un log fácilmente para tus proyectos en Python

Un fichero de registro o log nos permite llevar una cronología de lo que va sucediendo en nuestra aplicación. Podemos registrar con facilidad todos aquellos procesos, fallos y errores que consideramos oportunos, esto nos permite poder encontrar fallos y errores presentes en el script que ejecutamos.

Esta utilidad esta presente en el modulo “logging“. Nos permite crear de forma fácil y rápida los archivos log en nuestros proyectos.

Logging dispone de 5 métodos para notificar los diferentes mensajes:

  • Debug. Normalmente se utiliza cuando estamos desarrollando nuestra aplicación, nos permite depurar el proyecto.
  • Info. Mensajes informativos. Pueden indicar que los procesos se realizan de forma correcta.
  • Warning. Utilizado para realizar advertencias, algo puede no ir bien o causar problemas en un futuro proximo.
  • Error. Algo ha salido mal o el resultado no es el esperado.
  • Critical. Posiblemente el programa deje de funcionar o responder.

Podemos configurar logging para que cree un archivo de texto, en el cual se guardarán los mensajes que vamos colocando en el código.

import logging
from datetime import datetime, date, time

ahora = datetime.now()
fecha_log = ahora.strftime('%d-%m-%Y_%H-%M-%S')

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s : %(levelname)s : %(message)s',
                    filename = fecha_log + '_registro.log',
                    filemode = 'w',)
  • Level. Nivel del mensaje.
  • Format. El formato en el cual serán guardados los mensajes.
  • Filename. El archivo que contendrá el log.
  • Filemode. El modo del archivo.

Ejemplo del formato de salida de los mensajes:

Ahora solo nos queda añadir la salida de los mensajes en los lugares de nuestra aplicación que consideremos más oportunos, propensos a errores, criticos o simplemente informativos.

El formato para los mensajes es el siguiente:

logging.debug('Información detallada, generalmente de interés solo cuando se diagnostican problemas.')
logging.info('Confirmación de que las cosas funcionan como se esperaba.')
logging.warning('Una indicación de que sucedió algo inesperado o indicativo de algún problema en el futuro cercano (por ejemplo, "espacio en disco bajo"). El software sigue funcionando como se esperaba.')
logging.error('Debido a un problema más serio, el software no ha podido realizar alguna función.')
logging.critical('Un error grave que indica que el programa en sí no puede continuar ejecutándose.')

Aqui, puedes encontrar la documentación oficial de logging.



Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share

Programar Alexa para encender y apagar dispositivos al amanecer y atardecer

Alexa nos permite controlar multitud de dispositivos a través de comandos de voz; enchufes, interruptores, bombillas, cerraduras, cámaras, e infinidad de otros dispositivos. Pero a parte de utilizar los comandos de voz, también es posible realizar acciones programadas; en tiempos determinados o cuando se produce un evento, como puede ser al amanecer, atardecer, llegar o salir de casa, entre otras opciones disponibles.

Vamos a configurar un evento el cual encienda una lampara cada día de la semana, cuando se produce el ocaso del Sol.

Pra realizar tal tarea debemos de ir a la aplicación Amazon alexa. Pulsamos sobre el icono “Más“, situado en la parte inferior derecha de la pantalla, seleccionamos “Rutinas“, y pulsamos sobre el circulo con signo más, situado en la parte superior derecha.

Seleccionamos la primera opción “Introduce un nombre para la rutina” y añadimos un nombre a esta rutina, por ejemplo, “Encender Lampara al atardecer“, pulsamos sobre “Siguiente“.

Ahora pulsamos sobre “Cuando” aquí veremos cuatro opciones, seleccionados “Horario“. De las tres siguientes opciones, elegimos “Anochecer“.

Con “Diferencia de tiempo“, nos permite seleccionar cuando se producira el evento, si justo cuando oscurece, o unos minutos antes o despues de producirse. En la parte inferior podemos seleccionar los días de la semana en los que se producira el evento, por defecto estan marcados todos, pulsando sobre ellos los desmarcamos, en la parte inmediatamente superior se mostrarán los días seleccionados, para evitar confusiones, sino sabemos que los circulos en blanco son los seleccionados, y los circulos negros, los desmarcados.

Una vez realizadas las correspondientes configuraciones, pulsamos sobre “siguiente“. Seleccionamos “Añadir acción“, seleccionamos “Dispositivos“, “Todos los dispositivos“, y buscamos el dispositivo que realizará la acción y pulsamos sobre él. Según las acciones que pueda realizar dicho dispositivo, veremos más o menos opciones de configuración. Si se trata de una bombilla o interruptor, disponemos de una opción de configuración, “Potencia“, la cual se puede seleccionar como activar o desactivar, sugún la acción que queremos que se realize. Una vez seleccionada una acción, pulsamos nuevamente sobre “Siguiente“, aquí solo nos queda pulsar en “Guardar“, para que nuestra nueva rutina quede guardada y lista para entrar en acción.

Ahora cada vez que oscurezca se activara la nueva rutina, encendiendo el dispositivo programado. Como cada día oscurece a una hora diferente, este evento no se puede programar con un horario fijo, nos va de maravilla utilizar las opciones, amanecer y atardecer para realizar este tipo de programaciones.



Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share

Actualizar a Angular 10

Lo primero es comprobar si tenemos actualizada la versión de Nodejs.

node –version

Podemos comprobar la última versión disponible en https://nodejs.org/es/

Lo recomendable es descargar la version LTS, la más estable para el desarrollo web.

Si la web dispone de una versión mayor a la instalada en nuestro sistema, es recomendable descargar dicha versión y actualizar.

El siguiente paso es comprobar la versión instalada de Angular

ng –version

Actualizamos el gestor de paquetes npm.

npm install -g npm@latest

Comprobar la versión instalada de npm.

npm –version

Borrar la cache de npm. Este comando permite descargar los paquetes más actualizados y no los que ya estén en cache.

npm cache clean –force

Desinstalar la versión actual de Angular cli.

npm uninstall -g angular-cli
npm uninstall -g @angular/cli

Borramos de nuevo la cache.

npm cache clean –force

Instalar la última versión de Angular

npm install -g @angular/cli@latest

Una vez terminada la instalación, ya dispondremos de la última versión de Angular en nuestro sistema.



Si encuentras esta noticia interesante la puedes compartir en tus redes sociales, a tus seguidores les puede gustar. Utiliza los botones que tienes más abajo.

Share