Desidero avere una funzione personalizzata che serializzi oggetti Python arbitrari, come il modo in cui la funzione json.dump ha un argomento facoltativo chiamato 'default', che dovrebbe essere una funzione che il jumper dumper chiamerà se l'oggetto non è serializzabile json.Come si scrive un rappresentatore per PyYAML?
Voglio semplicemente fare l'equivalente di questo dal pacchetto json.
json.dump(tests_dump, file('somefile', 'w+'), default = lambda x: x.__dict__)
sembra che ho bisogno di scrivere yaml.add_representer, dalla documentazione PyYAML, ma in realtà non è chiaro come fare questo.
come faccio 'annullare la registrazione' il representer aggiunto e costruttore di allora? Lavoro in un ambiente che ci sono altri strumenti che si basano su un comportamento diverso, ho scoperto che se aggiungo rappresentatore e costruttore come questo, cambierà il comportamento del modulo yaml, anche se il codice che ha chiamato yaml si trova in un altro file in un altro modulo. – Shuman
Come faccio a fare in modo che funzioni per una gerarchia di classi (ad esempio A (roor), B (root), C (root))? –