You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook向Python脚本传变量参数失败,如何解决?

Jupyter Notebook传递变量给外部Python脚本的问题解决

问题原因

你当前的写法中,!ipython two_digits.py a b里的a和b会被当作字符串字面量传递给脚本,而不是变量a=3、b=5的实际数值。Jupyter的!魔法命令默认不会解析命令里的变量名,只会原样把字符串"a"、"b"作为参数传给脚本,所以变量传递不生效。

正确传递方法

方法1:用字符串插值({})

在!后的命令里,用大括号包裹变量名,Jupyter会自动替换成变量的实际值:

a = 3
b = 5
!ipython two_digits.py {a} {b}

实际执行的命令等价于ipython two_digits.py 3 5。

方法2:用Jupyter原生的%run魔法命令(更推荐)

%run是Jupyter专门用来运行外部脚本的命令,用$符号引用变量即可传递值:

a = 3
b = 5
%run two_digits.py $a $b

脚本端的参数接收

无论用哪种方法,two_digits.py里都需要通过sys.argv来接收参数,注意参数是字符串类型,需要按需转换类型:

import sys

if __name__ == "__main__":
    # sys.argv[0]是脚本文件名,所以从索引1开始取参数
    num1 = int(sys.argv[1])
    num2 = int(sys.argv[2])
    # 这里写你的处理逻辑,比如打印求和结果
    print(num1 + num2)

内容的提问来源于stack exchange,提问作者sudhansu63

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 04:14:58