Quick one-off script to convert a yaml file to native python.
python3 convert-yaml-to-python.py YAMLFILE > my_data.pyA 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) |