首页 > 解决方案 > Python 输出 ansible yml 文件

问题描述

我想编写一个脚本来导入用户的 csv 文件数据并生成用于 ansible 的 yaml 文件来创建 Linux 用户。csv 文件是具有以下形式的列表:

users = [
  ['user1', 'passwordUser1' ['wheel', 'users']],
  ['user2', 'passwordUser2' ['wheel', 'users']],
  ...
]

yaml文件必须具有以下格式:

users:
- name: user1
  groups: 
  - wheel
  - users
  password: passwordUser1
- name: user2
  groups: 
  - wheel
  - users
  password: passwordUser2
- ...

我已经找到了从字典中导出的来源,但它会按字母顺序重新排序字段。(名称前的组)

我的代码如下:

import yaml

output = [{'users': [{'name': 'user1', 'groups': ['wheel', 'users'], 'password': 'user1p'}]}]

with open(r'/home/maarten/git/elnx-1920-sme-maartenbeeckmans/assignment/store_file.yaml', 'w') as file:
    documents = yaml.dump(output, file)

它生成的 Yaml 文件

- users:
  - groups:
    - wheel
    - users
    name: user1
    password: user1p

标签: pythonansibleyaml

解决方案


推荐阅读