@smokedotpy

Как получить число и подставить в путь файла в aiogram?

При вводе номера
Ошибка:
FileNotFoundError: [Errno 2] No such file or directory: 'img/butuzov8/[8] Геометрия - Рабочая тетрадь Бутузов, Кадомцев, Прасолов.jpg'

Мой не рабочий код:
@dp.message_handler(content_types=['text'], text='[8] Геометрия - Рабочая тетрадь Бутузов, Кадомцев, Прасолов')
async def alg8mordnom(message: types.Message):
    await message.answer(text="<b>Введите номер, например: </b>\n<code>27</code>", parse_mode="HTML")
    await bot.send_photo(photo=types.InputFile("img/butuzov8/"+message.text+".jpg"), chat_id=message.chat.id, caption="<b>️ Для выбора учебника, испозьзуйте клавиатуру ниже.</b>", parse_mode="HTML", reply_markup=kb.geometry8book)


Как получить номер, и подставить в путь файла
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Ты ошибку-то прочитал? Он прямо говорит, что указанный файл (изображение) не найден.
Если ты уверен, что файл есть, читай дальше.
Путь, который ты указал - относительный, поэтому отсчитывается относительно текущей рабочей директории (которая может совпадать или не совпадать с директорией где лежит скрипт, смотря как его запускаешь).
Так что используй pathlib, чтобы сформировать абсолютный путь к изображению - т.е. начинающийся с корня диска. Если искомый файл лежит неподалёку от каталога бота, то можешь воспользоваться тем фактом, что sys.argv[0] (модуль sys) содержит путь к скрипту бота.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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