Help needed with nested parsing of file into objects
Alain Ketterlin
alain at dpt-info.u-strasbg.fr
Mon Jun 4 10:14:39 EDT 2012
More information about the Python-list mailing list
Mon Jun 4 10:14:39 EDT 2012
- Previous message (by thread): Help needed with nested parsing of file into objects
- Next message (by thread): Help needed with nested parsing of file into objects
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
richard <pullenjenna10 at gmail.com> writes: > Hi guys i am having a bit of dificulty finding the best approach / > solution to parsing a file into a list of objects / nested objects any > help would be greatly appreciated. > > #file format to parse .txt > [code] > An instance of TestArray > a=a > b=b > c=c > List of 2 A elements: > Instance of A element [...] Below is a piece of code that seems to work on your data. It builds a raw tree, i leave it to you to adapt and built the objects you want. The assumption is that the number of leading blanks faithfully denotes depth. As noted in another message, you're probably better off using an existing syntax (json, python literals, yaml, xml, ...) -- Alain. #!/usr/bin/env python import sys import re RE = re.compile("( *)(.*)") stack = [("-",[])] # tree nodes are: (head,[children]) for line in sys.stdin: matches = RE.match(line) if len(matches.group(2)) > 0: depth = 1 + len(matches.group(1)) while len(stack) > depth: stack[-2][1].append(stack[-1]) del stack[-1] pass stack.append( (matches.group(2),[]) ) pass pass while len(stack) > 1: stack[-2][1].append(stack[-1]) del stack[-1] pass print(stack)
- Previous message (by thread): Help needed with nested parsing of file into objects
- Next message (by thread): Help needed with nested parsing of file into objects
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list