TGViewer
Хитрый Питон Хитрый Питон @tricky_python · 3.47K subscribers
Post #92 1.48K
YAML в последние годы набрал огромную популярность, но наверное самая большая проблема с ним в том, что он выглядит просто, но на самом деле формат очень замороченный. Спецификация состоит из 10-и глав https://yaml.org/spec/1.2.2/. Честно признаюсь - я не осилил прочитать ее полностью, думаю, как и большинство людей, активно использующих yaml.

И вот тут мы подходим к теме сегодняшней статьи. Из-за того, что формат сложный, но с ним пытаются работать как с простым, есть много неочевидных способов поломать yaml-документ. Например, ключи словаря в `yaml` могут быть любого типа, не только строками. Если это совместить с тем, что yaml считает, что on — это True, а off — это False, то вот этот пример из Quickstart-а Github Actions:


on: [push]


будет прочитан как:


True: ['push']


Интересно, в Github Actions свой, пропатченый парсер или они on и True в ключах считают одним и тем же?


В общем вот хорошая статья, в которой разбирается этот и многие другие неочевидные ловушки формата. Очень рекомендую всем, кто сталкивается с необходимостью писать/править YAML https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
Ruud van Asseldonk The yaml document from hell For a data format, yaml is extremely complicated. It aims to be a human-friendly format, but in striving for that it introduces so much complexity, that I would argue it achieves the opposite result. Yaml is full of footguns and its friendliness is deceptive.…
  • 👍 22
More from @tricky_python
  1. Sep 16, 2026Друзья, у нас важное объявление! Некоторые из вас помнят наши курсы Learn Python - когда-т…
  2. Sep 7, 2026В документации Python появилась отдельная страница со сложностью операций над встроенными…
  3. Sep 3, 2026В эту пятницу в 14:00 (по мск) обсудим новости августа в прямом эфире Moscow Python Podcas…
  4. Sep 2, 2026Казалось бы, что может быть проще, чем разбить текст на строки? Может быть, кто-то еще пом…
  5. Aug 31, 2026Пока я был в отпуске и путешествовал, вышел перевод документации Python на русский. Звучит…
  6. Aug 20, 2026Есть такой язык - Mojo: • синтаксически он близок к python • дает возможность вызывать и и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →