影刀RPA全局变量完全指南跨流程数据共享与状态持久化作者林焱普通变量只在一次流程执行中有效流程跑完就消失了。全局变量不一样——它能在多次执行之间保留数据也能在不同流程之间共享。把什么时候用全局变量、怎么用一次说清。一、全局变量是什么全局变量是存储在影刀客户端本地的持久化变量。特点跨执行保留流程跑完数据还在下次执行可以读到上次存的值跨流程共享流程A写入流程B可以读取手动管理不会自动清空需要自己维护打个比方普通变量是便签纸用完就扔全局变量是白板写上去一直在。二、全局变量的创建操作路径左侧面板 → 全局变量 → 新建设置变量名数据类型初始值或者直接在流程里用设置全局变量指令没有就自动创建。店群矩阵自动化突破运营极限三、读取全局变量操作路径指令库 → 全局变量 → 获取全局变量参数变量名踩坑第一次运行流程时全局变量可能还没被初始化。要在流程开头判断变量是否存在不存在则初始化尝试 上次运行时间 获取全局变量(last_run_time) 捕获异常 上次运行时间 // 初始值 设置全局变量(last_run_time, )四、写入全局变量操作路径指令库 → 全局变量 → 设置全局变量参数变量名、值五、典型应用场景场景一记录上次执行时间避免重复采集// 流程开始读取上次运行时间 上次时间 获取全局变量(last_run_time) // 只采集上次时间之后的新数据 如果 上次时间 ! 筛选条件 发布时间 上次时间 否则 筛选条件 // 全量采集 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1d996a3cee5a4c86a50b5fe6065d0e82.png#pic_center) 采集数据(筛选条件) // 流程结束更新上次运行时间 当前时间 格式化时间(获取当前时间(), yyyy-MM-dd HH:mm:ss) 设置全局变量(last_run_time, 当前时间)这样每次只采增量不重复处理老数据。场景二累计计数器需要统计所有历史执行的总处理条数// 读取历史总数 历史总数 获取全局变量(total_processed) 如果 历史总数 历史总数 0 否则 历史总数 文本转数字(历史总数) // 本次执行的处理数量 本次数量 处理当前批次() // 累加并保存 新总数 历史总数 本次数量 设置全局变量(total_processed, 数字转文本(新总数)) 记录日志(历史累计处理 新总数 条)场景三流程间数据传递流程A数据采集→ 流程B数据处理→ 流程C生成报告流程A结束时把采集数量写入全局变量流程C读取并汇报// 流程A结尾 设置全局变量(collect_count, 采集数量) 设置全局变量(collect_date, 今日日期) // 流程C开头 数量 获取全局变量(collect_count) 日期 获取全局变量(collect_date) 报告内容 日期 采集了 数量 条数据场景四运行开关远程控制流程在某些场景下想在流程运行中途能让它停下来但没有远程管理工具temu店群自动化报活动案例// 流程开始时检查 运行状态 获取全局变量(flow_enabled) 如果 运行状态 false 记录日志(流程已被手动禁用退出) 结束流程 // 用影刀另一个窗口手动修改这个全局变量 // 设置全局变量(flow_enabled, false) // 下次循环到这里就会停止场景五存储配置信息把常用配置存入全局变量多个流程共用// 一次性初始化配置 设置全局变量(notify_phone, 13800138000) 设置全局变量(excel_save_path, D:\数据报告\) 设置全局变量(max_retry, 3) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8fa8a864634a4424ba99bb3e89d9b713.png#pic_center) // 所有流程直接读取不用每个流程都硬编码 保存路径 获取全局变量(excel_save_path)六、全局变量的命名规范建议用前缀区分用途避免不同流程的变量名冲突前缀含义示例state_状态数据state_last_pagecount_计数数据count_total_processedconfig_配置数据config_save_pathflag_开关标志flag_flow_enabled七、全局变量注意事项全局变量存的都是文本——数字要先转文本存取出来再转数字不要存大量数据——影刀全局变量不适合存几千行数据那种数据写文件或数据库多流程写同一变量要小心竞争——两个流程同时修改同一个全局变量可能数据错乱定期清理无用变量——积累太多乱变量后期维护困难八、常见错误问题原因解决读取到 null 或报错变量未初始化就读取用 try-catch 处理首次运行情况数字计算结果不对忘记文本转数字就做加减取出后立即转数字不同流程的变量互相干扰命名没有区分用前缀区分各流程的变量全局变量是影刀里记忆的核心机制。用好了流程就有了状态有了状态流程才能真正做到上次跑到哪、这次从哪继续的智能行为。作者林焱