async def chuck(self):
joketype = 'nerdy' if randint(0, 100) < 50 else 'explicit'
cnjoke = requests.get('http://api.predator.wtf/joke/?arguments={}'.format(joketype),allow_redirects = True).content
return '{}'.format(str(cnjoke.replace('"', '"').replace('steal', 'steel')))
我正在尝试使用这个api来获取查克诺里斯的笑话(不要问大声笑)但它会返回此错误:
return '```{}```'.format(str(cnjoke.replace('"', '"').replace('steal', 'steel')))
TypeError: a bytes-like object is required, not 'str'
我不知道该怎么做。
答案 0 :(得分:1)
'```{}```'.format(str(cnjoke).replace('"', '"').replace('steal', 'steel'))
或
'```{}```'.format(cnjoke.decode().replace('"', '"').replace('steal', 'steel'))
和content
返回字节
type(cnjoke) #bytes
使用text
代替您的情况可能会更好
_cnjoke = requests.get('http://api.predator.wtf/joke/?arguments={}'.format(joketype),allow_redirects = True).text
type(_cnjoke) #str