def countSpaces(str): for i in range(0, len(str)): if str[i] != ' ' and str[i] != '\t': return i return len(str) def addAll(lines, at, out, lastIndent): while at < len(lines): indent = countSpaces(lines[at]) if indent > lastIndent: out.append(' ' * lastIndent + "{") at = addAll(lines, at, out, indent) out.append(' ' * lastIndent + "}") at = at + 1 elif indent == lastIndent or indent == 0: out.append(lines[at]) else: return at return at lines = open('data.txt').read().split('\n'); output = []; addAll(lines, 0, output, 0) for line in output: print line