You can use shlex module to parse your string.
By default, shlex.split will split your string at whitespace characters not enclosed in quotes:
>>> shlex.split(teststring)
['48,', 'one, two,', '2011/11/03']
This doesn't removes the trailing commas from your string, but it's close to what you need. However, if you customize the parser to consider the comma as a whitespace character, then you'll get the output that you need:
>>> parser = shlex.shlex(teststring)
>>> parser.whitespace
' \t\r\n'
>>> parser.whitespace += ','
>>> list(parser)
['48', '"one, two"', '"2011/11/03"']
Note: the parser object is used as an iterator to get the tokens one by one. Hence, list(parser) iterates over the parser object and returns the string splitted where you need.