Comment vérifier si la variable est une chaîne avec python 2 et 3 de compatibilité

Je suis conscient que je peux utiliser: isinstance(x, str) en python-3.x mais j'ai besoin de vérifier si quelque chose est une chaîne de caractères en python-2.x ainsi. Va isinstance(x, str) fonctionner comme prévu en python-2.x? Ou ai-je besoin pour vérifier la version et l'utilisation isinstance(x, basestr)?

Plus précisément, en python-2.x:

>>>isinstance(u"test", str)
False

et python-3.x n'a pas u"foo"

  • u"" syntaxe de l'Unicode des littéraux est réintroduit dans Python 3.3
  • Exactement, c'est un problème délicat à résoudre... merci.
  • Impair. J'ai ` ">>> isinstance(u"test", basestring) True `` Python 2.7.16
InformationsquelleAutor Randall Hunt | 2012-07-02