Created
April 26, 2019 19:21
-
-
Save ywkaras/651c25f2e0b66ae2b0b10711283aeb26 to your computer and use it in GitHub Desktop.
yaml indentation oddity
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ cat load.py | |
import yaml | |
import sys | |
f = open(sys.argv[1], 'r') | |
y = yaml.load(f) | |
print(y) | |
$ | |
$ cat y1.yaml | |
a: | |
- b: | | |
one | |
two | |
- c: | | |
three | |
four | |
$ | |
$ cat y2.yaml | |
a: | |
- b: | | |
one | |
two | |
- c: | | |
three | |
four | |
$ | |
$ python load.py y1.yaml | |
{'a': [{'b': 'one\ntwo\n'}, {'c': 'three\nfour\n'}]} | |
$ | |
$ python load.py y2.yaml | |
Traceback (most recent call last): | |
File "load.py", line 4, in <module> | |
y = yaml.load(f) | |
File "/usr/local/lib/python2.7/site-packages/yaml/__init__.py", line 71, in load | |
return loader.get_single_data() | |
File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 37, in get_single_data | |
node = self.get_single_node() | |
File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line 36, in get_single_node | |
document = self.compose_document() | |
File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line 55, in compose_document | |
node = self.compose_node(None, None) | |
File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line 84, in compose_node | |
node = self.compose_mapping_node(anchor) | |
File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line 133, in compose_mapping_node | |
item_value = self.compose_node(node, item_key) | |
File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line 82, in compose_node | |
node = self.compose_sequence_node(anchor) | |
File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line 111, in compose_sequence_node | |
node.value.append(self.compose_node(node, index)) | |
File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line 84, in compose_node | |
node = self.compose_mapping_node(anchor) | |
File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line 127, in compose_mapping_node | |
while not self.check_event(MappingEndEvent): | |
File "/usr/local/lib/python2.7/site-packages/yaml/parser.py", line 98, in check_event | |
self.current_event = self.state() | |
File "/usr/local/lib/python2.7/site-packages/yaml/parser.py", line 428, in parse_block_mapping_key | |
if self.check_token(KeyToken): | |
File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line 115, in check_token | |
while self.need_more_tokens(): | |
File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line 149, in need_more_tokens | |
self.stale_possible_simple_keys() | |
File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line 289, in stale_possible_simple_keys | |
"could not find expected ':'", self.get_mark()) | |
yaml.scanner.ScannerError: while scanning a simple key | |
in "y2.yaml", line 3, column 5 | |
could not find expected ':' | |
in "y2.yaml", line 4, column 5 | |
$ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment