Как отправить через telegram bot практическое любое изображение?

#cartoon = re.compile("*.jpg")
#img = open(cartoon, 'rb')
img = open("out.jpg", 'rb')
for user in team_users:
    bot.send_photo(user.chat_id, img)

сделал так, чтобы отправлял именно изображение out, но чтобы отправить любое изображение попробовал через регулярные выражения, но видимо не корректно использовал их?
  • Вопрос задан
  • 473 просмотра
Пригласить эксперта
Ответы на вопрос 1
@fireSparrow
Вы здесь вообще какую-то ерунду пытаетесь делать.

Функция open ожидает в качестве аргумента конкретную строку. Функция re.compile возвращает скомпилированное регулярное выражение, которое строкой ВООБЩЕ не является. И даже не унаследовано от нее.

Строковое представление этого результата соответствует выражению, которое его породило.

cartoon = re.compile(".jpg")

print(str(cartoon))

# Выведет: re.compile('.jpg')


Файловая система не умеет работать с таким. Ей нужна нормальная строчка с конкретным именем файла.

Соответственно, вам нужно поступать так:
1. Получаете список имеющихся файлов в заданной директории.
2. Находите там один подходящий файл.
3. Передаёте его имя в явном и конкретном виде в функцию open.
И регулярные выражения здесь могут использоваться только на этапе 2, но никак не на этапе 3.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы