Python ошибка ожидаемого объекта str, bytes или os.PathLike, а не PngImageFile - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь создать скрипт в python, который загружает фотографию с URL-адреса и отправляет ее боту-телеграмме. Это код:

from PIL import Image
from io import BytesIO
import requests

bot = telepot.Bot('***')
chat_id = ****

url='https://api.blockchain.info/charts/preview/market-price.png?timespan=30days&h=810&w=1440'

response = requests.get(url)
img = Image.open(BytesIO(response.content))

bot.sendPhoto(chat_id, photo=open(img, 'rb'))

возвращается ошибка: TypeError: ожидаемый объект str, bytes или os.PathLike, а не PngImageFile

Изображение успешно сохраняется в img, ошибка в bot.sendPhoto line.

Где ошибка? Я принимаю и другой способ сделать это. Спасибо!

---------------------------------------------------------------------------
TypeError    Traceback (most recent call last) <ipython-input-75-8b821a935f08>     
in <module> ----> 1 bot.sendPhoto(chat_id, photo=open(img, 'rb'))

TypeError: expected str, bytes or os.PathLike object, not PngImageFile

1 Ответ

0 голосов
/ 01 мая 2020

Вы пытались передать каталог пути к изображению в качестве аргумента вместо объекта PngImageFile (img)? В противном случае попробуйте привести img к байтовому объекту.

...