Search
Write a publication
Pull to refresh

Comments 2

Обратите внимание, что Dumper не может быть передан в yaml.safe_dump, у которого определен свой собственный dumper-класс.

А как передать в yaml.safe_dump?

Покопавшись в коде PyYAML (версия 6.0) можно заметить что в yaml.safe_dump нельзя передать свой Dumper в отличии yaml.dump

yaml.safe_dump в обязательном порядке использует свой SafeDumper и это нельзя переопределить. Однако вам ни кто не запрещает построить свой Dumper наследуя от SafeDumper. И уже его передать в yaml.dump.

class IndentSafeDumper(yaml.SafeDumper):
    def increase_indent(self, flow=False, indentless=False):
        return super(IndentSafeDumper, self).increase_indent(flow, False)

В итоге тот же результат, но с использованием SafeDumper

Sign up to leave a comment.

Articles