-def print_tokens(token_list, outfile=sys.stdout, level=0):
- for token in token_list:
- if isinstance(token, TokenList):
- print_tokens(token, outfile, level+1)
- else:
- outfile.write(token.normalized)
+def print_tokens(token_list, outfile=sys.stdout, encoding=None):
+ if encoding:
+ outfile = getattr(outfile, 'buffer', outfile)
+ for token in token_list.flatten():
+ normalized = token.normalized
+ if encoding:
+ normalized = normalized.encode(encoding)
+ outfile.write(normalized)