我有以下目录和文件结构。我想从以下这些文件夹中的所有 yaml 文件中创建一个 yaml 文件。
[root@localhost test]# tree
.
├── group_vars
│ └── all.template
├── host_vars
│ └── host.template
└── vars
├── CASSANDRA
├── CQLSH
├── CSYNC2
├── DSE_OPSCENTER
├── DSE_OPSCENTER_AGENT
├── logging.template
├── packages_vars.template
├── UDM
└── user_pub_keys
结果可能是(示例 yaml 文件)
group_vars/all.template:
<all the all.template data at this indentation>
host_vars/host.template:
<all the host.template data at this indentation>
vars/CASSANDRA:
<all the CASSANDRA data at this indentation>
vars/CQLSH:
<all the CQLSH data at this indentation>
... so on
我可以在文件夹中加入这些文件,但我不知道如何才能带来我上面描述的 yaml 格式。
我试过什么?
我想到了写入文件<folder_name>/file_name>
,然后给出 4 个空格并按原样写入内容。
像下面的东西
with open(actual_path) as i: # actual path is just the path to the file
outfile.write('vars#'+fname) # vars is the folder name and fname is the file name. # is just any separator for the file
outfile.write(i.read()) # here I can add 4 spaces
outfile.write('\n')
这是按照我想要的方式创建 yaml 文件的好方法吗?如果是这样,我只需要知道如何在 4 个空格之后开始写入文件(原样)。