逃脱哈希签到Yaml多行文本

tam*_*mir 5 yaml

是否可以从多行文本中转义哈希符号(#)?

...
-
    my_story: |
        Line 1
        Line 2
        # Hash line
Run Code Online (Sandbox Code Playgroud)

我希望得到的是:

array {
    'my_story' => 'Line 1
Line 2
# Hash line'
}
Run Code Online (Sandbox Code Playgroud)

如果我用引号包装哈希行,我会在文本中得到它们:

'Line 1
Line 2
"# Hash line"'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗..?

小智 6

你写的完全没问题,“#”应该被正确处理。以下代码在 Python 3 (pyyaml) 中运行良好

data="""
-
    my_story: |
        Line 1
        Line 2
        # Hash line
"""

import yaml

deserializedData = yaml.load ( data )

print ( deserializedData[0]['my_story'] )
Run Code Online (Sandbox Code Playgroud)

上面一行打印

Line 1
Line 2
# Hash line
Run Code Online (Sandbox Code Playgroud)

  • 我有同样的问题,但事实证明这只是我的 IDE 格式化行,其中带有哈希值作为注释。当我运行它时,它被正确处理,正如你所说。 (4认同)