Skip to content
Advertisement

Pass input parameters to script from jupyter notebook

I am trying to run a python script provided by a file from a Jupyter notebook. The script is running if I use the following command:

!python script.py --input_path /folder/input --output_path /folder/output/

But I need to pass those paths from a variable of my notebook. How can I do it?

Tried this but it didn’t work:

input = "/folder/input"
output = "/folder/output/"

!python script.py --input_path input --output_path output

Advertisement

Answer

Values can be passed through to the shell command using the {} notation. See this link for additional handling between the Python runtime and shell commands.

For example:

input = "/folder/input"
output = "/folder/output/"

!echo python script.py --input_path "{input}" --output_path "{output}"

Prints the following output:

python script.py --input_path "/folder/input" --output_path "/folder/output/"

Obviously, the echo can be removed to make it actually invoke the python command, which is what the original question is after.

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement