我是一个python初学者(到目前为止只使用python3),我试图向我的同学提供一些代码来运行curses库。
我从python / curses教程获得了代码,它在python2中运行没有问题。在python3中它没有,我在标题中得到错误。 通过搜索已经提出的问题,我找到了几个解决方案,但由于我是一个绝对的编码初学者,我不知道如何在我的特定代码中执行这些。
这是在python2中使用的代码:
import curses
from urllib2 import urlopen
from HTMLParser import HTMLParser
from simplejson import loads
def get_new_joke():
joke_json = loads(urlopen('http://api.icndb.com/jokes/random').read())
return HTMLParser().unescape(joke_json['value']['joke']).encode('utf-8')
在python3中使用新模块:
import curses
import json
import urllib
from html.parser import HTMLParser
def get_new_joke():
joke_json = loads(urlopen('http://api.icndb.com/jokes/random').read())
return HTMLParser().unescape(joke_json['value']['joke']).encode('utf-8')
此外,我尝试将此解决方案包含在我的代码中: Python 3, let json object accept bytes or let urlopen output strings
response = urllib.request.urlopen('http://api.icndb.com/jokes/random')
str_response = joke_json.readall().decode('utf-8')
obj = json.loads(str_response)
现在试了几个小时,但它告诉我" json"没有定义。