I don't think any such thing exists - what you have may be the best.
Occasionally, I have functions that take either strings (which i'll split) or an iterable of strings. For those, I usually go for a negative test instead i.e.
if isinstance(iterable, basestring):
iterable = iterable.split(',')
etc.