Saltar al contenido

Ejecutar un script de Python en Jupyter Notebook, con argumentos que pasan

Agradeceríamos tu apoyo para compartir nuestras reseñas sobre las ciencias de la computación.

Solución:

necesitas usar sys.argv en vez de sys.stdin.read():

dos_digitos.py

import sys
args = sys.argv  # a list of the arguments provided (str)
print("running two_digits.py", args)
a, b = int(args[1]), int(args[2])
print(a, b, a + b)

línea de comando / línea mágica de jupyter:

%run two_digits 3 5

o, con una salida ligeramente diferente:
Nota: esto utiliza un ! prefix para indicar la línea de comando a jupyter

!ipython two_digits.py 2 3

producción: (usando la línea mágica %run)

running two_digits.py ['two_digits.py', '2', '3']
2 3 5

%%file calc.py

from sys import argv

script, a, b, sign = argv

if sign == '+': 
    print(int(a) + int(b))
elif sign == '-':
    print(int(a) - int(b))
else:
    print('I can only add and subtract')

Tenemos varias opciones:

%%!
python calc.py 7 3 +

o

%run calc.py 7 3 +

o

!python calc.py 7 3 +

o con la ruta en la salida

!ipython calc.py 7 3 +

Para acceder a la salida utilice la primera forma con %%!. La salida es una lista (IPython.utils.text.SList)

[In 1]
%%!
python calc.py 7 3 +

[Out 1]
['10']

Ahora puedes usar el guión bajo ‘_’

[In 2]
int(_[0])/2  # 10 / 2

[Out 2]
5.0

Comentarios y valoraciones del post

Si sostienes alguna suspicacia o capacidad de medrar nuestro sección te insinuamos ejecutar una crítica y con gusto lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *