Quick one-off script to convert a yaml file to native python.
python3 convert-yaml-to-python.py YAMLFILE > my_data.py
A little naive, but a quick tool otherwise.
import yaml | |
import sys | |
with open(sys.argv[1], 'r') as fh: | |
yaml_data = yaml.full_load(fh) | |
def do_print(data, indent=0): | |
if type(data) is dict: | |
print("%s{"%(" "*indent)) | |
indent += 2 | |
for k,v in data.items(): | |
print('%s"%s" : ' % (" "*indent,k), end='') | |
do_print(v, indent) | |
print("%s},"%(" "*(indent-2))) | |
elif type(data) is list: | |
print("%s["%(" "*indent)) | |
indent += 2 | |
for item in data: | |
do_print(item, indent) | |
print("%s],"%(" "*(indent-2))) | |
elif type(data) in [str, float, int, bool]: | |
if type(data) is str: | |
data = '"'+data+'"' if not data.startswith('"') else data | |
print("%s%s,"%(" "*(indent),data)) | |
else: | |
print("%s%s,"%(" "*indent, type(data))) | |
do_print(yaml_data) |