2023年3月3日 05:54
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
希望能够帮到你。