当前位置: 首页 > news >正文

【运维自动化-标准运维】变量的高级用法

在全局变量使用篇里了解到了各类变量的基本用法,实际在很多场景下,需要对变量进行处理,这就是标准运维里变量的高级用法。只要处理变量符合python语法,在一行代码语句的长度内可以执行的代码,系统均是可以进行渲染的。

  • 在变量b的字典键(key)中引用变量a
若${a}=“zone”已经定义了,如果要在${b}中的字典键(key)引用${a}的话,使用${b["%s_a" % a]}的方式引用的话,则会被渲染为${b["zone_a"]}
  • 计算一个60分钟以后的时间格式变量

比如在时间配置的输入参数中,我们想获取脚本当前执行的时间,以及60分钟以后的时间。可以参考下面的用法:

当前时间:${_system.task_start_time}
60分钟以后的时间:${(datetime.datetime.strptime(_system.task_start_time, "%Y-%m-%d %H:%M:%S")+datetime.timedelta(minutes=60)).strftime("%Y-%m-%d %H:%M:%S")}
  • 使用if-else 或 if-elif-else的语法

正常python语法是不支持一行带if elif else的,因此通过两(多)个if else的方式进行。

${"ts" if zone=="450" else "ts2" if zone == "820" else "autopath"}
  • 在变量中,空格替换成逗号

如果你有一个变量 a=“10166 10167 10170”,想把空格分隔符,替换成逗号分隔符,可以这样写:

','.join(i for i in a.split())

只需要将其用${}包裹起来,即可引用:

${','.join(i for i in a.split())}
  • IP变量,如果想转成一个列表格式,可以通过for语句

如果你有一个IP类型的变量a=“1.1.1.1,2.2.2.2,3.3.3.3”
想把它转成[“1.1.1.1”,“2.2.2.2”,“3.3.3.3”]的列表格式。
可以通过转换成for语句,使用分隔符替换的原理,拼接字符串,以便于形成列表格式

${'["'+'","'.join(str(i) for i in a.split(','))+'"]'}
  • 对象变量,如果输入参数为对象(有多个属性),循环迭代遍历,可使用表格类型的变量(此条用法由社区核心用户kevin贡献)

表格变量配置:${IPS}
变量使用:可以用脚本把表格的行数计算出来,作循环结束判断,用_loop-1下标调用:

${IPS.ip[_loop-1]},${IPS.idc[_loop-1]}

说明:适合产品版本 V6.1/V6.2/V7.0/V7.1

http://www.zskr.cn/news/51321.html

相关文章:

  • 详细介绍:K8s 安全机制全解析
  • 详细介绍:MySQL索引指南
  • Java 设计模式—— 责任链模式:从原理到 SpringBoot 最优搭建
  • 京东商品详情接口终极突破:从多接口联动解析到数据全息重构
  • 2025年品质卓越的羊毛地毯品牌综合推荐与选购指南
  • 20232415 2025-2026-1 《网络与系统攻防技术》 实验五实验报告
  • CSP2025反思——于诗涵
  • 接雨水算法全解析:从错误到3种最优解法(含扩展与思路Trigger)
  • C#性能优化基础:高CPU使用率(trace)
  • 详细介绍:Linux Bash(一)
  • pytest测试range内置函数
  • WPS---功能设置
  • [Debug记录] 分布式实验-FTP编程
  • 2025年国内旧房翻新公司综合实力排行榜TOP10推荐
  • Linux服务器编程实践60-双向管道:socketpair函数的完成与应用场景
  • 循环数组下一个更大元素:从错误到精通(含2种解法+同类型扩展)
  • 实验四运行结果
  • 随机化数论算法总结
  • 20232422 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • 完整教程:【数据迁移】HBase Bulkload批量加载原理
  • 【AI智能体开发】什么是LLM?如何在本地搭建属于自己的Ai智能体? - 详解
  • DL 1 深度学习简介 张量tensor操作
  • bpftrace报错:definitions.h:17:3: error: unknown type name pid_t
  • 目前市场口碑好的平移门服务商
  • 2025年11月阜阳伸缩门供应厂家有哪些
  • 【案例实战】多维度视角:鸿蒙2048游戏开发的深度分析与感悟 - 详解
  • 2025年11月载冷剂厂家榜单:性能价格服务综合对比
  • 跨域问题解决方案的弃子——JSONP
  • 2025年11月智能床垫品牌TOP5推荐:服务器系统软件办公集成优化
  • 2025河南郑州锅炉设备/改造/安装/维修最新TOP5推荐:质造升级驱动产业新发展,河南中原地区优选