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

Python子程序DEVICE_ON返回值无法传入CHECK_TEST参数异常

问题原因
  • Python函数内定义的变量属于局部作用域,DEVICE_ON内部赋值的var_colonna_1到var_colonna_8和主程序中的同名变量是完全独立的对象,不会自动同步值到外层。
  • 当前主程序调用DEVICE_ON时没有接收返回值,函数return的结果直接被丢弃,主程序里的var_colonna_x始终是初始化的0值。
  • 你贴出的代码分支中仅返回了var_colonna_2单个值,和设计的8个返回值不符,就算接收返回值也拿不到全部参数。
修复方法
  1. 调整DEVICE_ON的返回逻辑,确保所有执行分支都按顺序返回全部8个变量,不要在条件分支中只返回单个值,返回写法参考:
if j == 2:
    print('shutdown')
    # Run command.
    ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(shutdown)
    var_colonna_2=data_array[i][j]
    # 给其余var_colonna_1、var_colonna_3~var_colonna_8完成对应赋值
# 所有分支逻辑走完后,统一返回全部8个值
return var_colonna_1, var_colonna_2, var_colonna_3, var_colonna_4, var_colonna_5, var_colonna_6, var_colonna_7, var_colonna_8
  1. 主程序调用DEVICE_ON时,用对应数量的变量接收返回结果,不要直接调用后就传参给CHECK_TEST:
# 接收DEVICE_ON返回的8个值
var_colonna_1, var_colonna_2, var_colonna_3, var_colonna_4, var_colonna_5, var_colonna_6, var_colonna_7, var_colonna_8 = DEVICE_ON(ssh, data_array, i, j)
# 赋值完成后再调用CHECK_TEST
CHECK_TEST(var_colonna_1,var_colonna_2, var_colonna_3, var_colonna_4, var_colonna_5, var_colonna_6, var_colonna_7, var_colonna_8)
  1. 额外检查:确认DEVICE_ON所有条件分支都给8个var_colonna_x完成了赋值,避免出现未定义变量报错,或者返回值数量不匹配的问题。

调试参考截图:
return_picture_debug_mode


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:21:27