You could use regular expressions... it's an FSM of some kind but it's faster *g* check this snippet out:
def mysplit(s):
pattern = '((?:"[^"]*")|(?:[^ ]+))'
tmp = re.split(pattern, s)
res = [ifelse(i[0] in ('"',"'"), lambda:i[1:-1], lambda:i) for i in
tmp if i.strip()]
return res
>>> mysplit('foo bar "baz foo" bar "baz"')
['foo', 'bar', 'baz foo', 'bar', 'baz']
--
http://mail.python.org/mailman/listinfo/python-list
