Eu escrevi um script python que não declara nenhum utf-8 ou qualquer coisa. Quando executo o script, vejo o caractere "u" adicionado. Por que isso? Estou usando a versão 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"
}
Eu vejo um personagem estranho sendo adicionado
Respostas:
5 para resposta № 1Todas as sequências JSON são unicode: "Uma sequência é uma sequência de zero ou mais caracteres Unicode". No Python 2.x, o repr de um de uma string unicode inclui" u "no início, pois é assim que uma literal de string unicode se parece.
Enquanto print () imprime o str () de um dicionário, o str de um dicionário chama a repr dos itens incluídos.
2 para resposta № 2
É apenas um indicador de uma string Unicode no Python 2.x. A notação fornece um indicador visual do tipo de string. Ao imprimir contêineres, as strings são citadas e as strings Unicode têm o u extra:
>>> 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
Os contêineres usam a notação por padrão. Você precisa imprimir os elementos para ver o conteúdo sem aspas ou u:
>>> L = ["abc",u"def"]
>>> L
["abc", u"def"]
>>> print(L)
["abc", u"def"]
>>> for i in L: print i
...
abc
def