2
yaml을 덤핑 할 때 키 - 값에 들여 쓰기를 유지하는 방법은 무엇입니까? 나는 ruamel의 YAML을 사용하고yaml을 덤핑 할 때 키 - 값에서 들여 쓰기를 유지하는 방법
코드 :
in_str='''Pets:
Cat:
Tom
Mouse:
Jerry
Dog:
Scooby
'''
import ruamel.yaml, sys
results = ruamel.yaml.load(in_str, ruamel.yaml.RoundTripLoader, preserve_quotes=True)
results['Pets']['Bird']='Tweety'
ruamel.yaml.dump(results, sys.stdout, ruamel.yaml.RoundTripDumper, default_flow_style=True,indent=2, block_seq_indent=2)
출력 :
Pets:
Cat: Tom
Mouse: Jerry
Dog: Scooby
Bird: Tweety
예상 출력 :
이를 달성하기 위해Pets:
Cat:
Tom
Mouse:
Jerry
Dog:
Scooby
Bird:
Tweety
왜 들여 쓰기를 유지 하시겠습니까? –
오래된 핸드가 설정을 유지합니다. 전체 파일을 포맷하면'git blame'의 느슨한 이점이 생깁니 까 –
설정 파일에 시퀀스가 없습니까? 이 방법으로 일관되게 들여 쓰는 중첩 된 매핑 만있는 경우 (다음 줄에 키보다 4 위치가 더 많음)이 작업을 수행 할 수 있어야합니다. BTW는 RoundTripDumper를 사용하여'default_flow_style = True'에 대한 필요성을 경감합니다. '들여 쓰기 '는 예상 출력에 더 가깝게하기 위해 4가되어야합니다; 'block_seq_indent'는 시퀀스에만 영향을줍니다. – Anthon