Python中如何将变量传入命令行执行的脚本参数?
如何在Jupyter魔法命令中传入Python变量?
你遇到的问题是Jupyter的!魔法命令会把file_path当成字面量字符串,而非Python变量。这里有几种简单直接的解决方法:
方法一:使用f-string风格的变量插值
用大括号{}包裹变量名,Jupyter会自动将变量值替换进去:def func(file_path): !python some_script.py --par {file_path} func('/some/file/path/file.csv')方法二:先构造完整命令字符串再执行
适合命令逻辑较复杂的场景,先把变量拼接到命令字符串里,再传给!执行:def func(file_path): cmd = f"python some_script.py --par {file_path}" !{cmd} func('/some/file/path/file.csv')方法三:使用
$符号引用变量
类似shell中引用环境变量的写法,直接用$加变量名:def func(file_path): !python some_script.py --par $file_path func('/some/file/path/file.csv')
这些方法都是Jupyter魔法命令特有的变量替换语法,能让命令正确识别并使用Python变量的值,而不是把变量名当成字面量路径。
内容的提问来源于stack exchange,提问作者NeStack
相关产品推荐
相关产品推荐

