<bdo id='go4b0'></bdo><ul id='go4b0'></ul>

<small id='go4b0'></small><noframes id='go4b0'>

  • <legend id='go4b0'><style id='go4b0'><dir id='go4b0'><q id='go4b0'></q></dir></style></legend>

    <tfoot id='go4b0'></tfoot>
  • <i id='go4b0'><tr id='go4b0'><dt id='go4b0'><q id='go4b0'><span id='go4b0'><b id='go4b0'><form id='go4b0'><ins id='go4b0'></ins><ul id='go4b0'></ul><sub id='go4b0'></sub></form><legend id='go4b0'></legend><bdo id='go4b0'><pre id='go4b0'><center id='go4b0'></center></pre></bdo></b><th id='go4b0'></th></span></q></dt></tr></i><div id='go4b0'><tfoot id='go4b0'></tfoot><dl id='go4b0'><fieldset id='go4b0'></fieldset></dl></div>

      1. Python 中是否有任何支持将长字符串转储为块文字

        时间:2023-09-12
            <bdo id='ZHYfa'></bdo><ul id='ZHYfa'></ul>
            <legend id='ZHYfa'><style id='ZHYfa'><dir id='ZHYfa'><q id='ZHYfa'></q></dir></style></legend>
              <tbody id='ZHYfa'></tbody>
          • <small id='ZHYfa'></small><noframes id='ZHYfa'>

                <i id='ZHYfa'><tr id='ZHYfa'><dt id='ZHYfa'><q id='ZHYfa'><span id='ZHYfa'><b id='ZHYfa'><form id='ZHYfa'><ins id='ZHYfa'></ins><ul id='ZHYfa'></ul><sub id='ZHYfa'></sub></form><legend id='ZHYfa'></legend><bdo id='ZHYfa'><pre id='ZHYfa'><center id='ZHYfa'></center></pre></bdo></b><th id='ZHYfa'></th></span></q></dt></tr></i><div id='ZHYfa'><tfoot id='ZHYfa'></tfoot><dl id='ZHYfa'><fieldset id='ZHYfa'></fieldset></dl></div>
                • <tfoot id='ZHYfa'></tfoot>
                  本文介绍了Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我希望能够转储包含长字符串的字典,我希望在块样式中具有可读性.例如:

                  I'd like to be able to dump a dictionary containing long strings that I'd like to have in the block style for readability. For example:

                  foo: |
                    this is a
                    block literal
                  bar: >
                    this is a
                    folded block
                  

                  PyYAML 支持加载具有这种样式的文档,但我似乎找不到以这种方式转储文档的方法.我错过了什么吗?

                  PyYAML supports the loading of documents with this style but I can't seem to find a way to dump documents this way. Am I missing something?

                  推荐答案

                  import yaml
                  
                  class folded_unicode(unicode): pass
                  class literal_unicode(unicode): pass
                  
                  def folded_unicode_representer(dumper, data):
                      return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style='>')
                  def literal_unicode_representer(dumper, data):
                      return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style='|')
                  
                  yaml.add_representer(folded_unicode, folded_unicode_representer)
                  yaml.add_representer(literal_unicode, literal_unicode_representer)
                  
                  data = {
                      'literal':literal_unicode(
                          u'by hjw              ___
                  '
                           '   __              /.-.\
                  '
                           '  /  )_____________\\  Y
                  '
                           ' /_ /=== == === === =\ _\_
                  '
                           '( /)=== == === === == Y   \
                  '
                           ' `-------------------(  o  )
                  '
                           '                      \___/
                  '),
                      'folded': folded_unicode(
                          u'It removes all ordinary curses from all equipped items. '
                          'Heavy or permanent curses are unaffected.
                  ')}
                  
                  print yaml.dump(data)
                  

                  结果:

                  folded: >
                    It removes all ordinary curses from all equipped items. Heavy or permanent curses
                    are unaffected.
                  literal: |
                    by hjw              ___
                       __              /.-.
                      /  )_____________\  Y
                     /_ /=== == === === = _\_
                    ( /)=== == === === == Y   
                     `-------------------(  o  )
                                          \___/
                  

                  为了完整起见,还应该有 str 实现,但我会偷懒:-)

                  For completeness, one should also have str implementations, but I'm going to be lazy :-)

                  这篇关于Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:如何将 YAML 文件解析/读取到 Python 对象中? 下一篇:用 Python 编辑 YAML 文件

                  相关文章

                  最新文章

                • <legend id='Nb0tx'><style id='Nb0tx'><dir id='Nb0tx'><q id='Nb0tx'></q></dir></style></legend>
                  <i id='Nb0tx'><tr id='Nb0tx'><dt id='Nb0tx'><q id='Nb0tx'><span id='Nb0tx'><b id='Nb0tx'><form id='Nb0tx'><ins id='Nb0tx'></ins><ul id='Nb0tx'></ul><sub id='Nb0tx'></sub></form><legend id='Nb0tx'></legend><bdo id='Nb0tx'><pre id='Nb0tx'><center id='Nb0tx'></center></pre></bdo></b><th id='Nb0tx'></th></span></q></dt></tr></i><div id='Nb0tx'><tfoot id='Nb0tx'></tfoot><dl id='Nb0tx'><fieldset id='Nb0tx'></fieldset></dl></div>
                  1. <small id='Nb0tx'></small><noframes id='Nb0tx'>

                      <bdo id='Nb0tx'></bdo><ul id='Nb0tx'></ul>
                    <tfoot id='Nb0tx'></tfoot>