如何使用Python高效读取Yaml格式的文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计224个文字,预计阅读时间需要1分钟。
1. 安装模块 使用pip安装pyyaml模块。
2. 配置host.yaml文件 文件内容: yaml k8s: - role: node1 ip: 192.168.1.2 hostname: k8s-node1 - role: node2 ip: 192.168.1.3 hostname: k8s-node2 DB: ip: 192.168.1.10 port: 3306
3. 编写read_yaml.py脚本
一、安装模块
pip install pyyaml二、host.yaml文件
k8s:- role: node1
ip: 192.168.1.2
hostname: k8s-node1
- role: node2
ip: 192.168.1.3
hostname: k8s-node2
DB:
ip: 192.168.1.10
port: 3306
三、read_yaml.py
#!/bin/env python# -*- coding:utf-8 -*-
import yaml
import os
script_path = os.path.dirname(os.path.realpath(__file__)) #脚本所在路径
yaml_path = os.path.join(script_path, "host.yaml") #yaml文件路径
# open方法打开直接读出来
cfg = open(yaml_path, 'r').read() # 读出来是字符串
host_info = yaml.load(cfg,Loader=yaml.FullLoader) # 用load方法转为字典
# print(host_info)
print("node1的IP地址:%s" % host_info.get('k8s')[0].get('ip')) #获取node1的IP地址
print("DB的端口:%s" % host_info.get('DB').get('port'))
四、执行结果
本文共计224个文字,预计阅读时间需要1分钟。
1. 安装模块 使用pip安装pyyaml模块。
2. 配置host.yaml文件 文件内容: yaml k8s: - role: node1 ip: 192.168.1.2 hostname: k8s-node1 - role: node2 ip: 192.168.1.3 hostname: k8s-node2 DB: ip: 192.168.1.10 port: 3306
3. 编写read_yaml.py脚本
一、安装模块
pip install pyyaml二、host.yaml文件
k8s:- role: node1
ip: 192.168.1.2
hostname: k8s-node1
- role: node2
ip: 192.168.1.3
hostname: k8s-node2
DB:
ip: 192.168.1.10
port: 3306
三、read_yaml.py
#!/bin/env python# -*- coding:utf-8 -*-
import yaml
import os
script_path = os.path.dirname(os.path.realpath(__file__)) #脚本所在路径
yaml_path = os.path.join(script_path, "host.yaml") #yaml文件路径
# open方法打开直接读出来
cfg = open(yaml_path, 'r').read() # 读出来是字符串
host_info = yaml.load(cfg,Loader=yaml.FullLoader) # 用load方法转为字典
# print(host_info)
print("node1的IP地址:%s" % host_info.get('k8s')[0].get('ip')) #获取node1的IP地址
print("DB的端口:%s" % host_info.get('DB').get('port'))
四、执行结果

