python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python YAML配置文件管理

Python中使用YAML文件进行配置文件管理

作者:tester Jeffky

配置文件管理已经成为了一个不可或缺的环节。它们包含了程序运行所需的各种参数,本文主要介绍了Python中使用YAML文件进行配置文件管理,感兴趣的可以了解一下

在现代软件开发中,配置文件管理已经成为了一个不可或缺的环节。它们包含了程序运行所需的各种参数,如数据库连接信息、服务器地址等。然而,传统的配置文件通常以文本形式存在,这种方式既容易出错,又不利于代码的维护和扩展。因此,使用YAML文件进行配置文件管理成为了一种趋势。本文将介绍如何使用Python中的PyYAML库来操作YAML文件,以及YAML文件的一些优缺点。

首先,我们需要安装PyYAML库。可以使用pip命令进行安装:

pip install pyyaml

接下来,我们来看一下YAML文件的基本结构。YAML文件是一种简洁的非标记语言,它使用缩进来表示层级关系。例如,以下是一个包含字典和列表的YAML文件:

person:
  name: John Doe
  age: 30
  hobbies:
    - reading
    - swimming

我们可以使用Python中的PyYAML库来读取和操作YAML文件。以下是一些基本的使用方法:

import yaml

with open('config.yml', 'r') as f:
    data = yaml.safe_load(f)

print(data['person']['name'])  # 输出:John Doe
import yaml

with open('config.yml', 'r') as f:
    data = yaml.safe_load(f)

data['person']['age'] = 31

with open('config.yml', 'w') as f:
    yaml.safe_dump(data, f)
import yaml

with open('config.yml', 'r') as f:
    data = yaml.safe_load(f)

data['person']['job'] = 'engineer'

with open('config.yml', 'w') as f:
    yaml.safe_dump(data, f)
import yaml

with open('config.yml', 'r') as f:
    data = yaml.safe_load(f)

del data['person']['age']

with open('config.yml', 'w') as f:
    yaml.safe_dump(data, f)
import yaml

with open('config.yml', 'r') as f:
    data = yaml.safe_load(f)

# 访问嵌套的字典
print(data['person']['hobbies'][0])  # 输出:reading

# 修改嵌套的字典
data['person']['hobbies'][0] = 'cycling'

# 添加新的键值对到嵌套的字典
data['person']['address'] = {'city': 'New York', 'street': '5th Avenue'}

# 删除嵌套的字典中的键值对
del data['person']['address']['city']

with open('config.yml', 'w') as f:
    yaml.safe_dump(data, f)
import yaml

with open('config.yml', 'r') as f:
    data = yaml.safe_load(f)

# 访问嵌套的列表
print(data['person']['hobbies'])  # 输出:['reading', 'swimming']

# 修改嵌套的列表
data['person']['hobbies'].append('hiking')

# 添加新的元素到嵌套的列表
data['person']['friends'].append('Alice')

# 删除嵌套的列表中的元素
data['person']['hobbies'].remove('reading')

with open('config.yml', 'w') as f:
    yaml.safe_dump(data, f)

YAML文件的优点:

YAML文件的缺点:

示例:
本专栏中使用yaml作为配置文件,如下方代码

BASE:
  test:
    url: "http://119.3.246.198:64644"

创建Conf.py操作类,用于读取和解析一个名为conf.yml的配置文件。

import os
from utils.YamlUtil import YamlReader

current = os.path.abspath(__file__)

BASE_DIR = os.path.dirname(os.path.dirname(current))

_config_path = BASE_DIR + os.sep + "config"
_config_file = _config_path + os.sep + 'conf.yml'


def get_config_path():
    return _config_path


def get_config_file():
    return _config_file


class ConfigYaml:
    def __init__(self):
        self.config = YamlReader(get_config_file()).data()

    def get_conf_url(self):
        return self.config['BASE']['test']['url']

到此这篇关于Python中使用YAML文件进行配置文件管理的文章就介绍到这了,更多相关Python YAML配置文件管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文