I have this simple python script which I run from my Jupyter Notebook. However the arguments I pass to it seemingly are ignored and this results in an exception:
two_digits.py
import sys
input = sys.stdin.read()
tokens = input.split()
a = int(tokens[0])
b = int(tokens[1])
print(a + b)
%run two_digits 3 5
ndexError Traceback (most recent call last)
D:\Mint_ns\two_digits.py in <module>()
5 tokens = input.split()
6
----> 7 a = int(tokens[0])
8
9 b = int(tokens[1])
IndexError: list index out of range
Your advice will be appreciated.
We have several options:
or
or
or with the path in output
To access the output use the first way with
%%!
. Output is a list (IPython.utils.text.SList)Now you can use underscore '_'
You need to use
sys.argv
instead ofsys.stdin.read()
:two_digits.py
command line / jupyter magic line:
or, with a slightly different output:
Note: this uses a
!
prefix to indicate command line to jupyteroutput: (using magic line %run)