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.