FastNetMon

Monday 29 November 2010

Разбор YAML в Python на Centos 5.5

Формат YAML крайне удобен для всевозможных конфигов, причем, его удобно как редактировать вручную (не верите? Посмотрите примеры ниже!), так и разбирать программно, что делает его лучшим другом любого системного администратора :)

Устанавливаем библиотеку для разбора Python формата:
yum install -y PyYAML

Вот пример использования библиотеки:
#!/usr/bin/python

import yaml

document = """
  servers1:
    - host1
    - host2
  srver2:
    - hosta
    - hostb
"""
print yaml.dump(yaml.load(document))

После запуска выдача будет иметь примерно такой вид, то есть, у нас получился хеш с двумя ключами, по каждому из которых лежат списки узлов:
python generate_config.py
servers1: [host1, host2]
srver2: [hosta, hostb]

Немного усложним пример - вынесем блок данных yaml в отдельный файл, config.yaml:
servers1:
  - host1
  - host2
ssrvers2:
  - hosta
  - hostb

Python скрипт же примет вид:
#!/usr/bin/python

import yaml

document = file('config.yaml', 'r')
print yaml.dump(yaml.load(document)

Результат его работы будет аналогичный предыдущему.

Вот так довольно легко и непринужденно можно рисовать конфиг-файлы для своих скриптов :)

Источник: http://pyyaml.org/wiki/PyYAMLDocumentation

No comments :

Post a Comment

Note: only a member of this blog may post a comment.