Mostrando entradas con la etiqueta Capítulo 12. Mostrar todas las entradas
Mostrando entradas con la etiqueta Capítulo 12. Mostrar todas las entradas
miércoles, 6 de febrero de 2019
Videoreceta Python No. 12-8: Programar una Tarea
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
martes, 5 de febrero de 2019
Videoreceta Python No. 12-7: Ejecutar un Subproceso
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
Videoreceta Python No. 12-6: Crear un Pool de Threads
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
Videoreceta Python No. 12-4: Crear un Proceso
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
lunes, 4 de febrero de 2019
Videoreceta Python No. 12-1: Crear un Objeto Thread
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
sábado, 17 de febrero de 2018
Receta Python No. 12-8: Programar la Ejecución de Tareas
1. Problema
Programar la ejecución de una tarea.
2. Solución
En el módulo sched (parte de la librería estándar de Python) provee varios objetos para la programación de la ejecución de una tarea. En particular, la clase Scheduler permite agregar a una cola los eventos y gestionarlos (Bernard, 2016).
3. Código Python
Prueba de ejecución:
Python 3.5.2
El método enter() (línea 9) establece el tiempo de programación de la tarea -mostrar_mensaje-. En la línea 10 se invoca el método run() para esperar la ejecución de la tarea programada.
4. Literatura & Enlaces
Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.
O
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python
Ubicación:
Bogotá, Bogota, Colombia
Receta Python No. 12-7: Crear un Subproceso
1. Problema
Crear un subproceso para la ejecución de una tarea externa (e.g., proceso de línea de comandos).
2. Solución
El módulo subprocess (librería estándar de Python) permite la creación de subprocesos. Esta es una nueva solución que reemplaza a os.system y os.spawn. En concreto el módulo subprocess contiene el método run(); el cual es capaz de ejecutar subprocesos (Bernard, 2016).
3. Código Python
Archivo Python crear-subproceso.py [enlace alternativo]:
b'total 825\n-rw-r--r-- 1 johno 197609 739 Jun 3 2016 CatalogoProductos.xml\n-rw-r--r-- 1 johno 197609 6015 Jan 13 12:52 Python - R1.03 - B\xc3\xbasqueda dentro de una Cadena de Caracteres .xml\n-rw-r--r-- 1 johno 197609 4481 Jan 13 15:20 Python - R1.04 - Obtener una Sub-cadena de Caracteres.xml\n-rw-r--r-- 1 johno 197609 5593 Jan 13 21:40 Python - R1.05 - Reemplazar Coincidencias de Texto.xml\n-rw-r--r-- 1 johno 197609 3303 Jan 14 09:03 Python - R1.06 - Invertir una Cadena de Caracteres (String).xml\n-rw-r--r-- 1 johno 197609 4120 Jan 14 12:18 Python - R1.07 - Remover el Espacio en Blanco de una Cadena de Caracteres (String).xml\n-rw-r--r-- 1 johno 197609 3488 Jan 14 20:26 Python - R1.08 - Cambiar la Capitalizaci\xc3\xb3n de una Cadena de Caracteres (String).xml\n-rw-r--r-- 1 [...]
Prueba de ejecución:
b'total 825\n-rw-r--r-- 1 johno 197609 739 Jun 3 2016 CatalogoProductos.xml\n-rw-r--r-- 1 johno 197609 6015 Jan 13 12:52 Python - R1.03 - B\xc3\xbasqueda dentro de una Cadena de Caracteres .xml\n-rw-r--r-- 1 johno 197609 4481 Jan 13 15:20 Python - R1.04 - Obtener una Sub-cadena de Caracteres.xml\n-rw-r--r-- 1 johno 197609 5593 Jan 13 21:40 Python - R1.05 - Reemplazar Coincidencias de Texto.xml\n-rw-r--r-- 1 johno 197609 3303 Jan 14 09:03 Python - R1.06 - Invertir una Cadena de Caracteres (String).xml\n-rw-r--r-- 1 johno 197609 4120 Jan 14 12:18 Python - R1.07 - Remover el Espacio en Blanco de una Cadena de Caracteres (String).xml\n-rw-r--r-- 1 johno 197609 3488 Jan 14 20:26 Python - R1.08 - Cambiar la Capitalizaci\xc3\xb3n de una Cadena de Caracteres (String).xml\n-rw-r--r-- 1 [...]
Los [...] indican la exposición de una parte del resultado. Puede variar dependiendo del directorio donde se ejecute el script Python.
La línea 3 especifica que se ha de ejecutar el comando ls con el argumento -l para mostrar el contenido de un directorio con detalles de los diretorios y archivos.
4. Literatura & Enlaces
Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.
O
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python
Ubicación:
Bogotá, Bogota, Colombia
viernes, 16 de febrero de 2018
Receta Python No. 12-6: Crear un Pool de Procesos
1. Problema
Crear un pool de threads (procesos) para que ejecuten una tarea específica.
2. Solución
La clase Pool (módulo multiprocessing) facilita la creación y gestión de un pool de threads (Bernard, 2016).
3. Código Python
Prueba de ejecución:
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
4. Literatura & Enlaces
Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.
O
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python
Ubicación:
Bogotá, Bogota, Colombia
Receta Python No. 12-5: Comunicar Diferentes Procesos
1. Problema
Comunicar dos procesos para envío de información.
2. Solución
En el módulo multiprocessing se hayan dos clases para la comunicación entre procesos: pipe y queue (Bernard, 2016).
La comunicación a través de pipes se realiza en ambos sentidos (full-duplex). Un inconveniente que puede resultar es el intento de acceso a múltiple a un recurso: los datos se pueden dañar.
A través de las colas, estructuras de tipo FIFO (First In, First Out) la recepción de datos de diferentes fuentes es posible sin dañar el recurso compartido.
3. Código Python
['Python', '2']
Archivo Python comunicacion-queue.py [enlace alternativo]:
Prueba de ejecución:
['Python', '2']
4. Literatura & Enlaces
Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.
O
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python
Ubicación:
Bogotá, Bogota, Colombia
Receta Python No. 12-4: Crear un Proceso
1. Problema
Crear un proceso para la ejecución de una tarea.
2. Solución
En el módulo multiprocessing (parte de la librería estándar de Python) se encuentra la clase Process. Esta clase cuenta con las funciones para la creación de un proceso (Bernard, 2016).
3. Código Python
Archivo Python crear-proceso.py [enlace alternativo]:
Los datos se han guardado.
Prueba de ejecución:
Los datos se han guardado.
4. Literatura & Enlaces
Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.
O
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python
Ubicación:
Bogotá, Bogota, Colombia
jueves, 15 de febrero de 2018
Receta Python No. 12-3: Sincronizar la Ejecución de un Thread hasta un Punto Específico
1. Problema
Sincronizar la ejecución de un thread hasta un punto específico.
2. Solución
Los puntos de parada (o en inglés, barrier) sirven para establecer un punto de parada para la sincronización de ejecución (Bernard, 2016).
3. Código Python
import threading
barrera = threading.Barrier(5, timeout=10)
barrera = threading.Barrier(5, timeout=10)
El primer argumento indica la cantidad de threads serán usados en el barrera: 5.
4. Literatura & Enlaces
Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.
O
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python
Ubicación:
Bogotá, Bogota, Colombia
Receta Python No. 12-2: Controlar el Acceso a Recursos Compartidos
1. Problema
Controlar el acceso a un recurso compartido.
2. Solución
En el módulo threading incluye la clase Lock para controlar el acceso de threads a un recurso compartido (Bernard, 2016).
3. Código Python
4. Literatura & Enlaces
Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.
O
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python
Ubicación:
Bogotá, Bogota, Colombia
Receta Python No. 12-1: Crear un Thread
1. Problema
Crear un thread para ejecutar una tarea.
2. Solución
Sobre el módulo threading de la librería estándar de Python se halla la clase Thread. Esta clase provee elementos de programa para la ejecución de múltiples funciones en paralelo (Bernard, 2016).
3. Código Python
Prueba de ejecución:
Creación de threads en Python
4. Literatura & Enlaces
Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.
O
Etiquetas:
Capítulo 12,
Programación,
Programming,
Python
Ubicación:
Bogotá, Bogota, Colombia
Suscribirse a:
Entradas (Atom)