2016-11-06 1 views
0
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'))) 

Ich versuche, diese api zu verwenden Chuck Norris Witze zu bekommen (nicht fragen lol), aber es kehrt diesen Fehler:Python 3, Typeerror: ein Byte-ähnliches Objekt erforderlich ist, nicht ‚str‘

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

Ich bin mir nicht sicher, was zu tun ist.

Antwort

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

oder

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

und content kehrt Bytes

type(cnjoke) #bytes 

mit text stattdessen

_cnjoke = requests.get('http://api.predator.wtf/joke/?arguments={}'.format(joketype),allow_redirects = True).text 
type(_cnjoke) #str 
+0

Vielen Dank in Ihrem Fall besser sein, perfekt funktioniert <3 – ChickenRun

Verwandte Themen