2016-04-11 21 views
0

私はYAMLファイルで作業していますが、 "|"リテラル引用符の場合。PyYAMLが解決できないエラー

私はPyYAMLを使用しています。

ここでの主な問題は、第1レベルの「辞書」キーの下のコードでは機能しますが、第2レベルの「メモ」キーでは機能しませんでした。

">" "+" "| - "を使用しようとしましたが、何も機能しませんでした。

Description: | 

    This is a sample text showing that it works fine here. 

Signatures: 
    - { 
      returnValue:  'placeholder', 
      notes: | 

       Its not working here 
    } 
    - { 
      returnValue:  'another placeholder', 
      notes: ' 
        This is working here 

        ' 
     } 

私はエラー

ことERROR得、同様http://yaml-online-parser.appspot.com/https://nodeca.github.io/js-yaml/等に構文チェック:次のトークン た文字をスキャンしながら、 を '|' ""、行8、列24のトークンを開始できません: メモ:|

私はスレッドIn YAML, how do I break a string over multiple lines?といくつかの他を通過しましたが、何も働いていませんでした。

答えて

1

まず、常にエラーをスローし、最小限の例作る:あなたはYAML specificationを見て、文字列を検索した場合、「リテラルスタイルは」あなたの最初のヒットはCotents、セクション8.1の表にある

{  notes: | 

       Its not working here 
} 

を0.2 ブロックスタイル

あなたのコードの記述の一部であるあなたは、ブロックスタイルリテラルスカラーを持つことができないことの中に、{ }の使用とのマッピングにフロースタイルを指定します。

あなただけの全体YAMLは一貫して(マッピング要素間{},を削除)スタイルを阻止すべきである:ところで

Description: | 

    This is a sample text showing that it works fine here. 

Signatures: 
    - returnValue: placeholder 
     notes: | 

      Its not working here 
    - returnValue: another placeholder 
     notes: ' 
       This is working here 

       ' 

、リテラルスカラーにムシャムシャデフォルトはclippingあるので、それは何も変更はありませんそのようなスカラーの最後に余分な空行を追加した場合。

(PyYAMLはYAML 1.1のみをサポートしていますが、仕様は変更されていません)。

関連する問題