J'ai écrit un script python qui ne "déclare pas d'utf-8 ou quoi que ce soit. Quand j'exécute le script, je vois le caractère" u "ajouté. Pourquoi? J'utilise la version Python2.7.
access_token = token.json()["access_token"]
print(" "" + access_token + """ )
url = "https://api.yelp.com/v3/businesses/search"
bearer = "Bearer " + access_token
print(bearer)
header = {"Authorization":"Bearer " + access_token}
print(header)
params = {"location": "San Bruno",
"term": "Restaurant",
"radius":"25 miles",
"locale":"en_US",
"sort_by": "rating",
"limit":"50"
}
Je vois un personnage étrange être ajouté
Réponses:
5 pour la réponse № 1Toutes les chaînes JSON sont unicode: "Une chaîne est une séquence de zéro ou plusieurs caractères Unicode.". Dans Python 2.x, la reproduction d’une chaîne unicode inclut" u "au début, car c’est à quoi ressemble un littéral de chaîne unicode.
Pendant que print () imprime le str () d’un dictionnaire, str d’un dictionnaire appelle la repr des éléments inclus.
2 pour la réponse № 2
C’est juste un indicateur d’une chaîne Unicode dans Python 2.x. La notation fournit un indicateur visuel du type de chaîne. Lors de l’impression de conteneurs, les chaînes sont entre guillemets et les chaînes Unicode ont le caractère supplémentaire u:
>>> s = "abc" # byte string
>>> s # just quotes, no u
"abc"
>>> s.decode("ascii") # Make it a Unicode string
u"abc"
>>> u = s.decode("ascii")
>>> u
u"abc"
>>> print(u) # both print the same way
abc
>>> print(s)
abc
Les conteneurs utilisent la notation par défaut. Vous devez imprimer les éléments pour voir le contenu sans guillemets ou u:
>>> L = ["abc",u"def"]
>>> L
["abc", u"def"]
>>> print(L)
["abc", u"def"]
>>> for i in L: print i
...
abc
def