用yaml读取配置文件

import os,random,yaml

def readyml(yamlPath):#定义一个读取yaml文件的函数
    if not os.path.isfile(yamlPath):
        raise FileNotFoundError("文件路径不存在, 请检查路径是否正确: %s" % yamlPath)
    # open 方法打开直接读出来
    f = open(yamlPath, 'r', encoding='utf-8')
    cfg = f.read()
    # print(type(cfg))
    #将其转化为字典形式
    d = yaml.load(cfg,Loader=yaml.FullLoader)
    #d = yaml.load(input, Loader=yaml.FullLoader)
    # d = yaml.load(cfg)
    # print(type(d))
    # print("读取的测试文件数据: %s" %d)
    return d

def plcj(path):#批量创建文件夹
    for i in range(20):
        ym = '202106'
        d = random.randint(10, 22)
        dd = str(d)
        rand_num = str(random.randint(0, 9999999))
        new_number = rand_num.zfill(4)
        folder = ym + dd + new_number
        file_name = path + "\\" + folder + ".file"
        isExists = os.path.exists(file_name)
        if not isExists:
            os.makedirs(file_name)
            print('%s 创建文件夹成功' % file_name)
        else:
            print('%s 文件夹名称已存在' % file_name)
            continue
if __name__ == '__main__':#必须有这个才可以进行函数的测试,测试用的,否则函数无法调用,上面写的都是函数,下面是调用
    path = os.getcwd() + r'\zentao_config1.yaml'  # os.getcwd返回当前目录
    yamlPath = path
    d = readyml(yamlPath)
    host = d["host"]
    plcj(host)
#如果没有定义函数,就需要把要执行的文件放在调用的函数文件后面,函数中的传参,如果未定义就需要调用,写死的就不需要调用

  

posted @ 2021-06-24 17:09  小蕊-zr  阅读(438)  评论(0编辑  收藏  举报