程序运行的的变量写入yaml然后读出文件内容

本文介绍了一种在Shell脚本中调用Python脚本并实现变量间接传递的方法,通过将变量保存至YAML文件,使得其他部分能够读取使用。

最近在写一个自动化脚本。遇到一个头疼的问题,特记录下。
在写脚本过程中有个程序暂时只能用shell方式调用,导致想用运行过程中的变量获取不到,如下类似:

os.system('D:\\soft\\anaconda3\\python.exe dataCenter/get_adacard_yd.py')

尝试各种鸡肋的方式,直接获取不到,那就间接获取吧。在get_adacard_yd.py中将用的的变量报存到yaml文件,其他地方需要用到这个变量直接从yaml读就完事了。代码其实很简单,如下

def yaml_w(desired_caps):
    # 将字典写入到yaml
    curpath = f'{main_t.BASE_DIR}/commonCenter'
    yamlpath = os.path.join(curpath, "caps.yaml")
    # 写入到yaml文件
    with open(yamlpath, "w", encoding="utf-8") as f:
        yaml.dump(desired_caps, f)
def yaml_r():
    curpath = f'{main_t.BASE_DIR}/commonCenter'
    yamlpath = os.path.join(curpath, "caps.yaml")
    f = open(yamlpath, 'r', encoding='utf-8')
    cfg = f.read()
    d = yaml.load(cfg,Loader=yaml.FullLoader)  # 用load方法转字典
    return d
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

$团长$

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值