Приведите, как вы вызываете эту строку, так чтобы видно было, что передаёте в переменную path.
А вообще-то лучше не использовать имя path, оно может перепутаться с path из библиотек.
Да, и приведите полный traceback, не забудьте обернуть его тэгом code.
mapi, в оформлении… простыня кода нечитаемая, спрятать её под спойлер хотя бы. И для удобства используйте кнопку </> - выбирайте язык там, будет подсветка синтаксиса.
Заголовок вопроса - «Почему некорректно работают inline-кнопки в телеграм-боте?» Или что-то в таком роде.
В коде желательно добавить комменты, чтобы указать на то место, где ваш код, который должен работать, в котором по вашему мнению проблема.
mapi, у вас есть опыт в написании кода python? Вы понимаете, как работает приведённый код? Можете его максимально упростить, оставив только тот функционал, в котором у вас проблема?
Бросьте ботов, это для начинающих слишком сложно. Если вам кто-то сказал, что это раз плюнуть - вас обманули.
Это как студента первого курса мединститута заставить делать операцию аппендицит. Типовая, но попробуй сделать, не отучившись 5 лет на хирурга…
Я не шучу и не пытаюсь унизить. Просто не надо начинать с ботов.
Помню, у отца на работе стоял компьютер, там загрузчик надо было тумблерами на передней панели набирать. Что-то вроде 2ряда х16 тумблеров и кнопка ввода. Или что-то такое. Вот это программирование! Выдать топикстартеру и пусть на тумблерах ЯП программирует. Сразу в битах. А то в машинных кодах неспортивно…
Dr. Bacon, да, по скорости будет ближе к словарю, чем к БД, но есть нюанс: у автора вопроса там асинхронное что-то, которое надо будет в словарь писать и при этом строить какую-то велосипедную синхронизацию, семафоры там или что. А очередь вроде как это умеет, у ней такой механизм есть. Правда, это чисто теоретическое знание, сам не пробовал.
Если важна каждая миллисекунда, то словарь будет тоже очень медленным. Очередь FIFO типа queue.Queue, наверное, будет лучше. Но надо понимать, что повышая скорость, вы теряете в надежности. При сбое (по питанию, перезагрузке, программной ошибке, переполнению и т.п.) вся очередь будет утрачена.
Повышая надежность (БД) вы теряете в скорости.
Ну и не совсем понятен объем данных, а также как эти данные будут потребляться.