#!/usr/bin/python import shlex texts = { '1': 'var1="x"\nvar2="y"\nvar3="z"', '2': 'var1=x\nvar2=y\nvar3=z', '3': '"x"\n"y"\n"z"', '4': 'x\ny\nz', } for text_number, text in sorted(texts.items()): for posix in (False, True): l = shlex.shlex(text, posix=posix) print('### text%s posix=%s' % (text_number, posix)) token = l.get_token() while token not in ("", None): print((token, l.error_leader())) token = l.get_token()