Я думаю, что проблема возникает, потому что вы называете свою переменную str
. Это имя, используемое в классе python для строк, поэтому по существу вы перезаписываете определение класса строки своей переменной, то есть вы больше не можете использовать его и его функции (такие как len)
Мне удалось запустить этот код со следующими изменениями, попробуйте. Я не совсем понимаю вашу цель, но, надеюсь, это поможет. Также убедитесь, что вы возвращаете созданный вами объект, если хотите использовать его в другой функции
import base64
import requests
my_url = '...' # your url here
def pass_image(image_url):
output = base64.b64encode(requests.get(image_url).content)
bin = "".join(format(ord(x), "b") for x in base64.decodestring(output))
return bin # or you could print it
len(pass_image(my_url)) # for the url I used, I got length of 387244
Надеюсь, это поможет! Удачи.