@nazlanmak

Как вывести рандомное изображение из файла?

Нужно, чтобы код присылал рандомное фото из директории.

Использовал два способа, остановился на ошибке "Синтаксическая ошибка в имени файла, имени папки или метке тома: ..."

DIR = 'D:\Python\telegramtest\photos'
photo = open(os.path.join(DIR, random.choice(os.listdir(DIR))))
bot.send_photo(message.chat.id, photo)

path = r'D:\Python\telegramtest\photos'
photo = random.choice([
x for x in os.listdir(path)
if os.path.isfile(os.path.join(path, x))
])
bot.send_photo(message.chat.id, photo)

60358dd8d55b5997770671.png
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ответы на вопрос 2
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
Не нужно браться за ботов, не зная основ Python!

А по делу, сначала без бота получите список изображений из папки. Далее получите рандомный элемент из полученного списка. Ну а потом можно и бота подключать.
Ответ написан
shurshur
@shurshur
В python (как и во многих других языках программирования) символ \ в строковых значениях используется для экранирования и для спецсимволов. Например, \t - табуляция, \n - перевод строки. Поэтому использовать \ в строках так просто нельзя. Нужно или указать r перед строкой для отключения подобного поведения (r'c:\telegram'), или экранировать слеши: ('c:\\telegram').
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы