Używam YAML dla komputera i edytowanego przez człowieka i czytelnego formatu wejściowego dla symulatora. Aby zapewnić czytelność człowieka, niektóre elementy danych wejściowych są w większości podatne na blokowanie stylu, a styl przepływu bardziej pasuje do innych.Określanie stylów dla fragmentów PyYAML dump
Domyślną wartością PyYAML jest użycie stylu blokowego, w którym występują zagnieżdżone mapy lub sekwencje, a także styl przepływu w innych miejscach. * default_flow_style * pozwala wybrać styl w stylu pełnego przepływu lub blokowy.
Ale chciałbym więcej plików z postaci wyjście
bonds:
- { strength: 2.0 }
- ...
tiles:
- { color: red, edges: [1, 0, 0, 1], stoic: 0.1}
- ...
args:
block: 2
Gse: 9.4
Jak widać, to nie wynika spójny wzorzec dla całej stylów, a zamiast tego zmienia się w zależności od części pliku . Zasadniczo chciałbym móc określić, że wszystkie wartości w niektórych sekwencjach stylów bloku mają styl przepływu. Czy jest jakiś sposób na uzyskanie tego rodzaju drobiazgowej kontroli nad zrzutem? Możliwość zrzutu mapowania najwyższego poziomu w określonej kolejności, nie wymagając tego zamówienia (np. Omap), również byłaby dobra dla czytelności.
Czy twój komentarz jest ciągle aktualny na temat 'dumper.represent_sequence' i' dumper.represent_dict' nie ma opcji flow_style opcji? zobacz http://pyyaml.org/wiki/PyYAMLDocumentation#Dumper – Hotschke
Właściwie próbuję zastosować twoją 'flowmap' na sekwencji:' - edges: \ n - [1,2] \ n - [2, 1, [1 , 0]] ". Chciałbym mieć każdą krawędź na pojedynczej linii (oznaczonej przez '\ n'). Obecnie wygląda to następująco: '- edges: \ n - [1,2] \ n - 1 \ n - 2 \ n - [1, 0]' – Hotschke
Tak, mój komentarz jest nadal ważny; "represent_mapping" ma to, ale pozostałe dwie nie; prawdopodobnie są to po prostu opakowania dla 'represent_mapping'. Jeśli chodzi o to, co robisz, mapa nie jest tym, czego potrzebujesz. Ty sekwencję (pod krawędziami :), którą chcesz mieć flow_style = True, a nie mapowanie. – cge