Python输出ansible yml fi

2024-10-02 20:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个脚本,用用户导入csv文件的数据,并生成一个yaml文件,用在ansible中创建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

Tags: 文件csv用户nameyamloutputpasswordusers