Python 将输入参数从jupyter笔记本传递到脚本

Python 将输入参数从jupyter笔记本传递到脚本,python,jupyter-notebook,Python,Jupyter Notebook,我正在尝试运行由Jupyter笔记本中的文件提供的python脚本。如果使用以下命令,则脚本正在运行: !python script.py--输入\路径/文件夹/输入--输出\路径/文件夹/输出/ 但是我需要从我笔记本的一个变量传递这些路径。我怎么做 尝试了这个,但没有成功: input=“/folder/input” output=“/folder/output/” !python script.py--输入\路径输入--输出\路径输出 可以使用{}符号将值传递给shell命令。有关Pyth

我正在尝试运行由Jupyter笔记本中的文件提供的python脚本。如果使用以下命令,则脚本正在运行:

!python script.py--输入\路径/文件夹/输入--输出\路径/文件夹/输出/
但是我需要从我笔记本的一个变量传递这些路径。我怎么做

尝试了这个,但没有成功:

input=“/folder/input”
output=“/folder/output/”
!python script.py--输入\路径输入--输出\路径输出

可以使用
{}
符号将值传递给shell命令。有关Python运行时和shell命令之间的其他处理,请参见链接

例如:

input=“/folder/input”
output=“/folder/output/”
!echo python script.py--输入路径“{input}”--输出路径“{output}”
打印以下输出:

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

显然,可以删除
echo
,使其实际调用
python
命令,这就是最初的问题所在。

使用子流程包可以吗?在这里,我在笔记本的同一文件夹中运行脚本。它工作得很好

import subprocess
input_file = '/folder/input'
output_file = '/folder/output'
subprocess.run('python script.py --input_path {} --output_path {}'.format(input_file, output_file))

使用
$
符号访问Python变量

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

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

理想情况下,您应该导入脚本,然后调用它,而不是使用Jupyter来运行shell命令