Saltar al contenido principal

Tutorial sobre cómo ejecutar scripts en Python

Aprenda cómo puede ejecutar un script Python desde la línea de comandos, y también cómo puede proporcionar argumentos de línea de comandos a su script.
3 may 2024  · 10 min de lectura

Ejecute y edite el código de este tutorial en línea

Ejecutar código

Típicamente, todo novato aprende primero a escribir un script Python en la línea de comandos, luego pasa a ejecutar el script desde la línea de comandos, en donde el script es usualmente escrito en un editor de texto y es ejecutado desde la línea de comandos. En este post, exploramos con más detalle cómo ejecutar scripts de Python. 

Scripts e intérpretes de Python

Los ordenadores no pueden entender el código tal y como lo escriben los humanos, por lo que se necesita un intérprete entre el ordenador y el código escrito por los humanos. El trabajo del intérprete consiste en convertir el código en un formato que los ordenadores puedan entender y procesar.

El intérprete procesa el código de las siguientes maneras:

  • Procesa el script Python en una secuencia

  • Compila el código en un formato de código de bytes, que es un lenguaje de bajo nivel que entienden los ordenadores.

  • Por último, una máquina virtual Python (PVM) entra en escena. El PVM es el motor de ejecución de Python. Es un proceso que itera sobre las instrucciones de tu código bytecode de bajo nivel para ejecutarlas una a una.

Como los scripts, tienes algo llamado Módulo, que es un script de Python importado y usado en otro script de Python.

El script Python se guarda con una extensión .py que informa al ordenador de que se trata de un script de programa Python. A diferencia de Windows, los sistemas operativos basados en Unix, como Linux y Mac, vienen con Python preinstalado. Además, la forma en que se ejecutan los scripts de Python en los sistemas operativos Windows y Unix difiere.

Ejecución de scripts de Python: Puesta en marcha

Para todos los usuarios, especialmente los del sistema operativo Windows, es muy recomendable instalar Anaconda, que puede descargarse de la página web de Anaconda. Puede seguir las instrucciones dadas en este tutorial de instalación de anaconda para Windows.

Para instalar Python3 en un sistema operativo Windows, consulte este tutorial de instalación de Python.

Se puede acceder al intérprete de línea de comandos para Python en los distintos sistemas operativos de las siguientes formas:

  • En Windows, la línea de comandos se conoce como símbolo del sistema, al que se accede haciendo clic en el menú start y buscando command prompt. Otra forma es yendo al cuadro de diálogo Run escriba cmd y pulse intro(menú Inicio $->$ Ejecutar y escriba cmd). Después de lo cual, si Python está instalado en su unidad C, entonces todo lo que tienes que hacer es escribir C:\python36\python.exe, donde python36 es la versión de Python (Nota: Esta ruta puede variar en función del directorio en el que esté configurado Python).
símbolo del sistema
(Fuente)
  • En un sistema Mac, es muy sencillo. Todo lo que necesitas hacer es abrir Launchpad y buscar Terminal, y en el terminal, escribe Python, y te dará una salida con la versión de Python.
sistema mac
  • Al igual que en el sistema Mac, acceder al terminal en un sistema Linux también es muy sencillo. Haga clic con el botón derecho del ratón en el escritorio y pulse Terminal en el terminal escriba Python.
sistema linux
(Fuente)

Nota: En este tutorial, aprenderás a utilizar el Terminal de Mac OS.

Así que, sin más preámbulos, ¡comencemos!

Escribir scripts de Python en el terminal

Veamos cómo podemos codificar y generar la salida en el propio terminal. Para ello, en primer lugar, escriba python3, lo que significa que va a utilizar la versión Python3.

Después de lo cual, usted puede código típicamente como lo haría en un editor de texto o un IDE (entorno de desarrollo integrado), aunque usted no va a obtener las funcionalidades en el terminal como lo haría con un IDE.

Empezaremos con el ejemplo de evergreen Hello, World!, y veamos qué aspecto tiene la salida en el terminal.

Escribir el script Python en el terminal

¿No es estupendo que, con sólo abrir el terminal y escribir Python3, puedas codificar en Python? Probemos con más ejemplos.

Escribir el script Python en el terminal

Una cosa a notar en el ejemplo anterior es que, sin siquiera escribir la sentencia print, usted fue capaz de obtener la salida.

Vamos a complicar un poco el código y vamos a utilizar la librería NumPy (Numerical Python) para crear dos arrays y aplicarles unas cuantas operaciones matemáticas. Para un poco de antecedentes sobre numpy, es una biblioteca de programación de Python que tiene la capacidad de tratar con grandes matrices multidimensionales y matrices, junto con una amplia colección de funciones matemáticas de alto nivel para operar en estas matrices.

Escribir el script Python en el terminal

Puedes observar en la figura anterior que usando numpy; fuiste capaz de crear, sumar y multiplicar dos arrays numpy dentro de la terminal. Una cosa a tener en cuenta aquí es que la función multiply en numpy hace una multiplicación elemento a elemento mientras que la función dot toma el producto punto de dos matrices. Para realizar el comando np.dot, es necesario asegurarse de que los columns de la primera matriz son iguales a los rows de la segunda matriz y, por lo tanto, a los value error.

Cómo ejecutar scripts de Python desde el terminal

Ejecutar el script Python desde el terminal es muy sencillo, en lugar de escribir el script Python en el terminal todo lo que necesitas hacer es utilizar un editor de texto como vim, emacs o notepad++ y guardarlo con una extensión .py. A continuación, abra el terminal y vaya al directorio donde reside el código y ejecute el script con la palabra clave python seguida del nombre del script.

Ejecutar el script .py desde el Terminal

Para crear el archivo terminal.py, utilice vim en el terminal con el nombre del programa como vim terminal.py y pegue el siguiente código en él. Para guardar el código, pulse la tecla esc seguida de wq!. Y finalmente, para ejecutar ese script, todo lo que necesitas hacer es escribir python3 terminal.py, y en menos de un segundo, verás la salida como se muestra arriba.

A continuación se muestra el código utilizado en el ejemplo anterior.

import numpy as np

x = np.array([[1,2],[3,4]], dtype=np.float64)
y = np.array([[5,6],[7,8]], dtype=np.float64)

# Elementwise sum; both produce the array
# [[ 6.0  8.0]
#  [10.0 12.0]]
print("Output of adding x and y with a '+' operator:",x + y)
print("Output of adding x and y using 'numpy.add':",np.add(x, y))

# Elementwise difference; both produce the array
# [[-4.0 -4.0]
#  [-4.0 -4.0]]
print("Output of subtracting x and y with a '-' operator:",x - y)
print("Output of subtracting x and y using 'numpy.subtract':",np.subtract(x, y))

# Elementwise product; both produce the array
# [[ 5.0 12.0]
#  [21.0 32.0]]
print("Output of elementwise product of x and y with a '*' operator:",x * y)
print("Output of element wise product of x and y using 'numpy.multiply':",np.multiply(x, y))

# Elementwise division; both produce the array
# [[ 0.2         0.33333333]
#  [ 0.42857143  0.5       ]]
print("Output of elementwise division x and y with a '/' operator:",x / y)
print("Output of elementwise division x and y using 'numpy.divide':",np.divide(x, y))

# Elementwise square root; produces the array
# [[ 1.          1.41421356]
#  [ 1.73205081  2.        ]]
print("Output of elementwise square root x using 'numpy.sqrt':",np.sqrt(x))
Output of adding x and y with a '+' operator: [[ 6.  8.]
 [10. 12.]]
Output of adding x and y using 'numpy.add': [[ 6.  8.]
 [10. 12.]]
Output of subtracting x and y with a '-' operator: [[-4. -4.]
 [-4. -4.]]
Output of subtracting x and y using 'numpy.subtract': [[-4. -4.]
 [-4. -4.]]
Output of elementwise product of x and y with a '*' operator: [[ 5. 12.]
 [21. 32.]]
Output of element wise product of x and y using 'numpy.multiply': [[ 5. 12.]
 [21. 32.]]
Output of elementwise division x and y with a '/' operator: [[0.2        0.33333333]
 [0.42857143 0.5       ]]
Output of elementwise division x and y using 'numpy.divide': [[0.2        0.33333333]
 [0.42857143 0.5       ]]
Output of elementwise square root x using 'numpy.sqrt': [[1.         1.41421356]
 [1.73205081 2.        ]]

Pasar argumentos de línea de comandos a script de Python

Los argumentos de línea de comandos hacen la vida mucho más fácil, muchas veces en código listo para producción se utilizan argumentos de línea de comandos. Hace que la reproducibilidad de la salida del código sea eficiente. Por ejemplo, digamos que su código tiene un montón de entradas de usuario o archivos que se están leyendo, a continuación, mediante el uso de argumentos de línea de comandos, usted no tendrá que entrar en el código para hacer todos estos cambios en caso de que necesite cambiar el nombre del archivo o una variable de entrada.

Para ello, utilizará el módulo sys, que es un módulo integrado de Python. Dentro de sys, tienes argv que te da la lista de argumentos de la línea de comandos pasados al programa Python. sys.argv lee los argumentos de la línea de comandos como una lista de elementos donde el primer elemento/elemento de esa lista puede ser accedido como sys.argv[1] mientras que el primer argumento, es decir, sys.argv[0] es siempre el nombre del programa tal y como fue invocado.

Veamos cómo funciona con un ejemplo sencillo.

Nota: El argumento de la línea de comandos es leído como string por Python, así que asegúrese de convertirlo como integer en caso de que esté tratando con números.

Al igual que en el ejemplo anterior, guarde las siguientes líneas de código en un editor como command_line.py y para ejecutar el código escriba python3 command_line.py 10 donde 10 es el argumento de la línea de comandos.

import sys
num = sys.argv[1]
for i in range(int(num)):
    print (i)
Pasar argumentos de línea de comandos a script de Python

¿Qué ocurre si no se proporciona ningún argumento en la línea de comandos?

Obtendrá un error list index out of range, que también refuerza que sys.argv se lee como una lista de elementos. Para evitar estos errores, necesita exceptional handling, que está fuera del alcance de este tutorial.

Pasar argumentos de línea de comandos a script de Python

Cómo escribir la salida de un script de Python en un archivo

Por último, como bonus, veamos cómo guardar la salida del script Python en un archivo txt utilizando la tecla >

Primero creará una carpeta cli y trasladará el código command_line.py a la carpeta cli. A continuación, comprobará qué hay en esa carpeta para asegurarse de que no existe ningún archivo txt.

A continuación, escribirá python3 command_line.py 10 > output.txt y, por último, comprobará el contenido de la carpeta cli. Ahora debería poder ver el archivo output.txt.

Escribir la salida de un script Python en un archivo

Abramos y veamos el contenido del archivo output.txt.

Escribir la salida de un script Python en un archivo

De la salida anterior, se puede ver que los dígitos 0-9 ahora se han escrito en un archivo de texto utilizando sólo un signo >.

Conclusión

Enhorabuena por terminar el tutorial.

Aún queda mucho por explorar, como la ejecución basada en GUI en Python, la ejecución de scripts de Python de forma interactiva y la ejecución de scripts de Python desde un gestor de archivos o desde un IDE. Específicamente para la ejecución de línea de comandos, es posible que desee experimentar en el command prompt de Windows y ver cómo es diferente de un sistema operativo basado en Unix.

Si te estás iniciando en Python y quieres aprender más, sigue el curso Introducción a la ciencia de datos en Python de DataCamp.

Preguntas frecuentes sobre scripts de Python

¿Qué es un script de Python?

Un script Python es un archivo que contiene código Python. El código de un script de Python puede ejecutarse ejecutando el script, ya sea desde la línea de comandos o llamándolo desde otro script.

¿Cómo se crea un script en Python?

Para crear un script Python, necesitarás un editor de texto o un entorno de desarrollo integrado (IDE) capaz de escribir y guardar código Python. Algunos IDE populares para Python son PyCharm, IDLE y Visual Studio Code.

Para crear un nuevo script Python, basta con crear un nuevo archivo y guardarlo con extensión .py. A continuación, puedes escribir tu código Python en el archivo y guardarlo para ejecutar el script.

¿Puedo ejecutar un script de Python en segundo plano?

Sí, puede ejecutar un script de Python en segundo plano utilizando el comando nohup. Por ejemplo:

nohup python script.py &

Esto ejecutará el script en segundo plano y le permitirá seguir utilizando el terminal mientras se ejecuta el script.

¿Cómo se ejecuta un script de Python desde la línea de comandos?

Para ejecutar un script de Python desde la línea de comandos, necesitará tener Python instalado en su sistema. A continuación, puede utilizar el siguiente comando para ejecutar un script:

python script.py
Temas

Cursos de Python

curso

Introduction to Python

4 hr
5.5M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Ver detallesRight Arrow
Comienza El Curso
Ver másRight Arrow
Relacionado

tutorial

Tutorial sobre la ejecución de scripts de Python en Power BI

Descubre las distintas formas de utilizar Python para optimizar el análisis, la visualización y el modelado de datos en Power BI.
Joleen Bothma's photo

Joleen Bothma

9 min

tutorial

Tutorial sobre cómo ejecutar consultas SQL en Python y R

Aprenda formas fáciles y eficaces de ejecutar consultas SQL en Python y R para el análisis de datos y la gestión de bases de datos.
Abid Ali Awan's photo

Abid Ali Awan

13 min

tutorial

Tutorial de funciones de Python

Un tutorial sobre funciones en Python que cubre cómo escribir funciones, cómo invocarlas y mucho más.
Karlijn Willems's photo

Karlijn Willems

14 min

tutorial

Dos métodos sencillos para convertir un archivo Python en un archivo Exe

Aprende qué es un archivo ejecutable y por qué puede ser útil, mientras ves cómo convertir un script de Python en un ejecutable utilizando auto-py-to-exe.
Kurtis Pykes 's photo

Kurtis Pykes

6 min

tutorial

Tutorial sobre cómo trabajar con módulos en Python

Los módulos te permiten dividir partes de tu programa en archivos diferentes para facilitar el mantenimiento y mejorar el rendimiento.

Nishant Kumar

8 min

tutorial

Una Introducción al Subproceso Python: Conceptos básicos y ejemplos

Explora nuestra guía paso a paso para ejecutar comandos externos utilizando el módulo de subprocesos de Python, completa con ejemplos.
Moez Ali's photo

Moez Ali

15 min

See MoreSee More