Я думаю, что вы на самом деле печатаете кортеж с синтаксисом Python 2 print
, а символ u
является флагом Unicode ( Что именно делают строковые флаги "u" и "r", и что является необработанным строковые литералы? ).
Также в Python 3 вы не могли использовать urllib2
, но должны были бы использовать urllib.request
.
Этот код работает для меня (python 3.6.5):
import json
from urllib.request import urlopen
response = urlopen("https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json")
source = response.read()
data = json.loads(source)
usd_rates = dict()
for item in data['list']['resources']:
name = item['resource']['fields']['name']
price = item['resource']['fields']['price']
usd_rates[name] = price
print(name, price)
РЕДАКТИРОВАТЬ ---------
Из изображения, которое вы разместили, похоже, что у вас установлен Python 3, но ваша usr/bin/python
является символической ссылкой на usr/bin/python2
.
Если вы хотите запустить python 3 по умолчанию, вы можете создать псевдоним.
Проверьте эту ссылку для получения дополнительной информации https://askubuntu.com/questions/320996/how-to-make-python-program-command-execute-python-3
(должна быть действительная информация и для Mac)