防止长行被包裹在 ruamel.yaml
Prevent long lines getting wrapped in ruamel.yaml
我使用load_yaml_guess_indent(f, preserve_quotes=True)
读取一个YAML文件,然后修改它并写回。我注意到长行在回写时会被换行。 (在 80-85 个字符后插入一个换行符。)我可以传递一个参数来阻止这种情况发生吗?
这些是您可以提交给round_trip_dump()
的参数:
def round_trip_dump(data, stream=None, Dumper=RoundTripDumper,
default_style=None, default_flow_style=None,
canonical=None, indent=None, width=None,
allow_unicode=None, line_break=None,
encoding=enc, explicit_start=None, explicit_end=None,
version=None, tags=None, block_seq_indent=None,
top_level_colon_align=None, prefix_colon=None):
您要找的是width
如果您使用的是新的 (ruamel.yaml >= 0.15
) API,这些参数中的大部分直接转换为您创建的 YAML 实例上的属性,因此在这种情况下您会这样做:
yaml = ruamel.yaml.YAML()
yaml.width = 4096 # or some other big enough value to prevent line-wrap
yaml.dump(data, stream=your_stream)
我使用load_yaml_guess_indent(f, preserve_quotes=True)
读取一个YAML文件,然后修改它并写回。我注意到长行在回写时会被换行。 (在 80-85 个字符后插入一个换行符。)我可以传递一个参数来阻止这种情况发生吗?
这些是您可以提交给round_trip_dump()
的参数:
def round_trip_dump(data, stream=None, Dumper=RoundTripDumper,
default_style=None, default_flow_style=None,
canonical=None, indent=None, width=None,
allow_unicode=None, line_break=None,
encoding=enc, explicit_start=None, explicit_end=None,
version=None, tags=None, block_seq_indent=None,
top_level_colon_align=None, prefix_colon=None):
您要找的是width
如果您使用的是新的 (ruamel.yaml >= 0.15
) API,这些参数中的大部分直接转换为您创建的 YAML 实例上的属性,因此在这种情况下您会这样做:
yaml = ruamel.yaml.YAML()
yaml.width = 4096 # or some other big enough value to prevent line-wrap
yaml.dump(data, stream=your_stream)