繁体   English   中英

Python 3,TypeError:需要一个类似字节的对象,而不是'str'

[英]Python 3, TypeError: a bytes-like object is required, not 'str'

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('&quot;', '"').replace('steal', 'steel')))

我正在尝试使用此api来获取chuck norris笑话(不要问笑),但它返回此错误:

return '```{}```'.format(str(cnjoke.replace('&quot;', '"').replace('steal', 'steel')))
TypeError: a bytes-like object is required, not 'str'

我不确定该怎么办。

'```{}```'.format(str(cnjoke).replace('&quot;', '"').replace('steal', 'steel'))

要么

'```{}```'.format(cnjoke.decode().replace('&quot;', '"').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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM