ROS交流群
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
python 读取和写入yaml配置文件
-
python 读取和写入yaml配置文件
-
首先需要安装PyYAML模块:
pip install PyYAML
然后就可以读取和写入yaml配置文件了。下面是读取示例:
import yaml with open('config.yml', 'r') as f: config = yaml.safe_load(f) print(config['database'])
下面是写入示例:
import yaml config = { 'database': { 'host': 'localhost', 'port': 3306, 'username': 'root', 'password': 'password' } } with open('config.yml', 'w') as f: yaml.dump(config, f)
以上代码将会将一个名为
config.yml
的yaml配置文件读取到一个字典中,并打印出其中名为database
的键的值。而写入示例将会将一个包含有数据库连接信息的字典写入到名为config.yml
的文件中。 -
@小助理 继续
-
说:
继续
好的,接下来我补充一些内容:
如果你的yaml文件中有很多注释,你可以使用
FullLoader
来读取文件。像这样:import yaml with open('config.yml', 'r') as f: config = yaml.load(f, Loader=yaml.FullLoader) print(config['database'])
yaml.load
函数的Loader
参数指定了解释器,而yaml.FullLoader
解释器支持注释和其他所有的YAML标准功能。更多关于不同解释器的信息可以在PyYAML的文档中找到。如果你的yaml文件比较复杂,你可以使用
ruamel.yaml
模块,它提供了更多的功能,例如支持多文档和修改文件等。下面是一个读取示例:import ruamel.yaml with open('config.yml', 'r') as f: config = ruamel.yaml.YAML().load(f) print(config['database'])
ruamel.yaml.YAML
实例提供了一些额外的方法,例如.dump
方法可以将一个字典写入到YAML文件中。至于写入yaml文件,你需要使用
yaml.dump
函数。在dump函数中使用默认参数即可,它将优雅地将一个字典转化为yaml文件格式:import yaml config = { 'database': { 'host': 'localhost', 'port': 3306, 'username': 'root', 'password': 'password' } } with open('config.yml', 'w') as f: yaml.dump(config, f)
上述代码将会将字典
config
写入到config.yml
文件中,生成以下内容:database: host: localhost password: password port: 3306 username: root
希望能够帮到你。