Programación con hilos (threading) en Python

Hace unos días, necesité utilizar threading en Python en el trabajo. Como sabéis, soy programador web. Necesitaba ejecutar un programa que suele tardar entre 1 y 4 minutos y tenía que ejecutarse como resultado de una petición web. Evidentemente, no puedo tardar en responder una petición todo ese tiempo, así que lo hice creando un …

Fuegos artificiales en Dubai

Dubai es una ciudad diferente a todos los lugares que he visitado antes. Entre otras cosas tienen cierta tendencia a hacer todo más grande, a ser posible, lo más grande del mundo. Tienen el hotel más lujoso del mundo, el edificio más alto del mundo, el edificio residencial más alto del mundo (el que será …

Leer carpetas y archivos con Python

Leer carpetas y saber los archivos que están en ellas es muy sencillo en Python. Vamos a utilizar las funciones listdir, isfile, join y walk. Si queremos ver todo el contenido de un fichero vamos a utilizar la función listdir a la que pasaremos el path del fichero en cuestión: from os import listdir for …

Mi trabajo en Dubai

Ya os conté cómo conseguí el trabajo. Ahora os contaré como está siendo esta experiencia. Mis superiores son muy atentos, me tratan con educación incluso cuando hago algo mal (la he liado un par de veces, nada grave) y tuvieron mucha paciencia con mi inglés los primeros días, mientras me acostumbraba a esta asombrosa variedad …

Dubai: primeras impresiones

Mañana hace un mes que cogí el avión rumbo a Dubai. Ha sido un mes muy completo, muy complejo y un poco estresante, pero sobre todo ha sido ilusionante. ¿Ha habido choque cultural? Yo diría que no. Más bien ha habido un choque multicultural. Dubai no es una ciudad de emiratíes es una ciudad absolutamente …

Comprehension list en Python

¿Conocéis las Comprehension list de Python? Se trata de una forma rápida, limpia y sencilla de crear listas de valores. La idea es sustituir código como este: cuadrados = [] for x in range(10): cuadrados.append(x**2) Por código como este: cuadrados = [x**2 for x in range(10)] En ambos casos el resultado es el mismo. Una …

Generadores en Python

Hoy quiero mostraros cómo usar generadores en Python. ¿Qué son los generadores? Son funciones que nos permitirán obtener sus resultados poco a poco. Es decir, cada vez que llamemos a la función nos darán un nuevo resultado. Por ejemplo, una función para generar todos los números pares que cada vez que la llamemos nos devuelva …

Diferencia entre ‘is’ y ‘==’ en Python

Cuando se empieza en Python es bastante frecuente usar como sinónimos los comparadores is y ==. Aunque, en general, suelen funcionar de forma similar sus comportamientos no son exactamente iguales. is devolverá True si las dos variables apuntan al mismo objeto. == devolverá True si los valores de las variables son iguales. Para acabar de …

Funciones en Python con Caché

Hay ocasiones en las que ejecutamos funciones una y otra vez con los mismos parámetros. Si esas funciones son operaciones matemáticas o accesos a bases de datos pueden llegar a tener un coste computacional o un tiempo de ejecución demasiado elevado. ¿Y si añadimos una caché a nuestra función? En el caso de Python es …