2017-08-14 14 views
1

これはBitbucketの代わりに投稿しています。なぜなら、これがユーザーエラーであるかどうかは本当に分かりません。ruamel.yamlの最新バージョンでは、単純なフローマッピングの解析に失敗します。

>>> from ruamel import yaml 
>>> test_str = '{"in":{},"out":{}}' 
>>> yaml.safe_load(test_str) 

ruamel.yaml.parser.ParserError: while parsing a flow mapping 
    in "<byte string>", line 1, column 1: 
    {"in":{},"out":{}} 
    ^(line: 1) 
expected ',' or '}', but got '<scalar>' 
    in "<byte string>", line 1, column 6: 
    {"in":{},"out":{}} 
     ^(line: 1) 

"in""out"問題を解決した後にスペースを置く:このような単純なものは、最新バージョンへのアップグレード後に壊れました。

+1

おかげで、これは確かにバグでした。 – Anthon

答えて

1

これはruamel.yamlのバグでした< 0.15.30。

「コンパクトJSON、トークンスキャナ(1.2仕様によって要求されるように、実施例7.10を参照)以前、::?プレーンスカラーで発生することを可能にするために、いくつかのマイクロバージョンを変更された、それらの変更は、この影響を受け"、構文。

回避策の一つ、YAML 1.1のように、この明示的にロードするすべてのあなたのYAMLの入力を変更するよりも簡単かもしれruamel.yamlをアップグレードすることができない場合は、されています報告のため

from ruamel import yaml 
test_str = '{"in":{},"out":{}}' 
yaml.safe_load(test_str, version="1.1") 
関連する問題