Bunun eski bir konu olduğunu biliyorum, ancak google'da gösterilen ilk konu olarak ve cevapların hiçbirini tatmin edici bulamadığım göz önüne alındığında, ileride başvurmak için burada bırakacağım:
six , bu sorunu zaten kapsayan bir Python 2 ve 3 uyumluluk kütüphanesidir. Daha sonra böyle bir şey yapabilirsiniz:
import six
if isinstance(value, six.string_types):
pass # It's a string !!
Kod incelendiğinde, bulduğunuz şey budur:
import sys
PY3 = sys.version_info[0] == 3
if PY3:
string_types = str,
else:
string_types = basestring,