python – 检查输入是字符串或单个字符串的列表/元组

我有一个方法,我想要接受一个单一的字符串(一个路径,但不一定存在于运行代码的机器上)或一个列表/元组的字符串。

鉴于字符串作为字符列表,我该如何判断该方法已收到?

我想要接受一个条目的标准或unicode字符串,以及列表或多个元组,因此除非我错过了一个聪明的技巧,否则似乎不是答案(如采取共同祖先阶级的优势?)。

Python版本是2.5

您可以检查一个变量是一个字符串还是unicode字符串

isinstance(some_object, basestring)

这将为字符串和unicode字符串返回True

编辑:

你可以这样做:

if isinstance(some_object, basestring):
    ...
elif all(isinstance(item, basestring) for item in some_object): # check iterable for stringness of all items. Will raise TypeError if some_object is not iterable
    ...
else:
    raise TypeError # or something along that line

字符性可能不是一个字,但我希望你得到这个想法

代码日志版权声明:
翻译自:http://stackoverflow.com/questions/922774/check-if-input-is-a-list-tuple-of-strings-or-a-single-string

转载注明原文:python – 检查输入是字符串或单个字符串的列表/元组