Ejecución de scripts Python con Runpy

Ejecución de scripts Python con Runpy

El módulo runpy de Python proporciona dos funciones para ejecutar scripts Python sin importarlo primero. Estas funciones son:

  • runpy.run_module(): Ejecuta el código del módulo especificado y devuelve el diccionario de globales de módulo resultante.
  • runpy.run_simple(): Ejecuta un script Python simple.

Ejemplo de uso de runpy.run_module()`

El siguiente ejemplo muestra cómo usar la función runpy.run_module() para ejecutar un script Python simple:

Python
# script.py
print("Hola, mundo!")

Para ejecutar este script usando runpy.run_module(), podemos usar el siguiente código:

Python
import runpy

runpy.run_module("script")

Este código imprimirá la siguiente salida:

Hola, mundo!

Ejemplo de uso de runpy.run_simple()`

La función runpy.run_simple() es una forma más sencilla de ejecutar scripts Python simples. Esta función toma dos argumentos:

  • El nombre del script a ejecutar.
  • Un conjunto de argumentos para pasar al script.

El siguiente ejemplo muestra cómo usar la función runpy.run_simple() para ejecutar el mismo script que el ejemplo anterior:

Python
runpy.run_simple("script")

Este código también imprimirá la siguiente salida:

Hola, mundo!

Opciones de ejecución de scripts Python con Runpy

Las funciones runpy.run_module() y runpy.run_simple() tienen varias opciones que se pueden usar para controlar la ejecución de scripts Python. Estas opciones se pueden especificar como argumentos a las funciones.

  • init_globals: Un diccionario que se puede usar para rellenar previamente el diccionario global del módulo antes de ejecutar el código.
  • run_name: El nombre del módulo que se ejecutará.
  • alter_sys: Un booleano que determina si se modifican los objetos globales del sistema.

Conclusiones

Las funciones runpy.run_module() y runpy.run_simple() son una forma conveniente de ejecutar scripts Python sin importarlo primero. Estas funciones son útiles para ejecutar scripts Python desde la línea de comandos o desde otros programas Python.