Top.Mail.Ru
Ответы

Открытие фотографии в питон

123
 file = open('dimond.mp4', 'rb') 
bot.send_photo(id, file, 'привет') 
bot.send_photo(id, file, 'привет') 

Суть в чём. Как видите, я открыл файл и занёс его в переменную file. Вторая строчка кода работает идеально: мне присылается эта фотка. Но третья строчка кода даёт ошибку: пишет, что я пытаюсь отослать пустой файл (Description: Bad Request: file must be non-empty).

Опытные люди, подскажите, что не так? Как я догадываюсь, это нюансы метода open, но какие именно - не знаю. Буду благодарен, если не только озвучите проблему, но и подскажите, как можно схожим образом сохранить файл в переменной, чтобы не обращаться к файлу каждый раз, когда нужно его открыть(ведь это лишние нагрузки)

По дате
По рейтингу
Аватар пользователя
Новичок
6мес

Не знаю что такое bot, но не суть. Во второй строчке ты прочитал файл и указатель сместился в самый конец. Теперь пробуй его вернуть в начало, до того как начнешь снова читать в третьей строке

1
 file.seek(0) 

По идее так должно сработать

как можно схожим образом сохранить файл в переменной


Как раз его не нужно нигде хранить. В переменной хранится только дескриптор и после всех отправок его нужно закрыть.