📅  最后修改于: 2023-12-03 14:46:17.342000             🧑  作者: Mango
在 Python 中,有时候我们需要修改 yaml 文件中的数据。比如说,替换 ips
列表中的数据。下面就是如何以 Python 读取、修改和写入 yaml 文件的一个例子。
如果没有安装 pyyaml 库,可以使用以下命令进行安装:
pip install pyyaml
读取 yaml 文件可以使用 yaml.load()
方法将 yaml 文件转换为 Python 对象。
import yaml
with open('sample.yaml', 'r') as f:
data = yaml.load(f, Loader=yaml.FullLoader)
print(data)
其中,sample.yaml
是 yaml 文件路径,yaml.load()
方法将 yaml 文件转换为 Python 对象并储存在变量 data
中。
修改 yaml 文件中的数据,需要在 Python 对象中进行修改。以下代码可以将 ips
列表中的数据替换为新的列表。
new_ips = ['192.168.1.2', '192.168.1.3', '192.168.1.4']
data['ips'] = new_ips
print(data)
修改完成后,需要将修改后的 Python 对象写入 yaml 文件。下面是写入 yaml 文件的代码:
with open('sample.yaml', 'w') as f:
yaml.dump(data, f)
其中,sample.yaml
是 yaml 文件路径,yaml.dump()
方法将 Python 对象转换为 yaml 格式,然后写入文件。
下面是将修改数据和写入文件的代码片段整合到一起的完整代码:
import yaml
# 读取 yaml 文件
with open('sample.yaml', 'r') as f:
data = yaml.load(f, Loader=yaml.FullLoader)
# 替换 ips 列表
new_ips = ['192.168.1.2', '192.168.1.3', '192.168.1.4']
data['ips'] = new_ips
# 写入 yaml 文件
with open('sample.yaml', 'w') as f:
yaml.dump(data, f)
以上代码可以读取 sample.yaml
,将 ips
列表替换为 ['192.168.1.2', '192.168.1.3', '192.168.1.4']
,再将修改后的数据写入原文件。
Python 通过 pyyaml 库读取、修改和写入 yaml 文件非常简单。如果你需要在项目中使用 yaml 文件、修改 yaml 文件等操作,可以参考以上方法和代码片段。