程序运行的的变量写入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

猜你喜欢

转载自blog.csdn.net/kairui_guxiaobai/article/details/106364229