2016-04-11 26 views
0

YAML dosyaları ile çalışıyorum ve "|" kullanarak takılıyorum literal alıntılar için.PyYAML çözülmez bir hata atıyor

PyYAML kullanıyorum.

Buradaki temel sorun, aşağıdaki "birinci" "Sözlük" anahtarı için çalıştığıdır, ancak ikinci seviye "notlar" tuşu için işe yaramadı.

">" "| +" "| -" kullanmayı denedim, ancak hiçbir şey işe yaramadı. '|' ise bir sonraki belirteç bulunan karakter için tarama:

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 

        ' 
     } 

ben hata olduğunu

HATA var, hem de http://yaml-online-parser.appspot.com/, https://nodeca.github.io/js-yaml/ ve başkalarına sözdizimi kontrol belirtecini "", satır 8, sütun 24: notları başlatılamıyor.

In YAML, how do I break a string over multiple lines? ve diğer birkaç ileti dizisinden geçtim ama hiçbir şey işe yaramadı.

cevap

1

Birincisi, her zaman hata atar asgari örnek olun:

{  notes: | 

       Its not working here 
} 

Eğer YAML specification bakıp dize "literal tarzı" kelimesini ararsanız ilk vuruş Cotents Tablosu'nda olduğunu bölüm 8.1 0,2 blok stilleri

Kodunuz açıklamasında bir parçasıdır hangi blok tarzı edebi skalarlar sahip olamayacağını içinde { } onun kullanımı ile haritalama için akış tarzını belirler. bir şey değişmez, edebi skalerler üzerinde chomping varsayılan clipping çünkü

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 

       ' 

BTW:

Sadece, bu YAML sürekli ({} ve haritalama elemanları arasında , kaldırmak) tarzını engellemek yapmalıdır Bu skalerlerin sonunda ekstra boş satırlar eklerseniz.

(PyYAML yalnızca YAML 1.1'i desteklemektedir, ancak belirtimi değiştirmemişse wrt).

İlgili konular