Бот для загрузки видео из YouTube не отправляет его в чат
Бот успешно скачивает видео на комп используя библиотеку pytube, но не отправляет его в чат. Выбрасывается ошибка в with open(file_name, 'rb') as file: FileNotFoundError: [Errno 2] No such file or directory
yt_obj = YouTube(message.text)
bot.send_message(message.chat.id, 'Начинаем загрузку видео...')
filters = yt_obj.streams.filter(progressive=True, file_extension='mp4').get_highest_resolution()
file_name = "{} - Video".format(yt_obj.title)
filters.download(output_path='/Users/Tony/PycharmProjects/download-telegram-bot/files', filename=file_name)
bot.send_message(message.chat.id, text="Видео успешно загруженно")
file_path = "/Users/Tony/PycharmProjects/download-telegram-bot/files/{}.mp4".format(file_name)
with open(file_path, 'rb') as file:
bot.send_video(message.chat.id, file)
os.remove(file_path)
Ответы (1 шт):
Автор решения: Boris Dvorkin
→ Ссылка
Поменяй путь до своего файла.
К примеру, файл file.txt лежит в
"C:\Users\User\Desktop\files"Тогда путь к нему:
"C:\\Users\\User\\Desktop\\files\\file.txt"Чтобы прочесть:
with open(f, 'r') as file: text = file.read()
Пояснение: Python может интерпретировать \ как escape-символ. Вместо \ лучше использовать \. Это устраняет ошибку интерпретации \ как escape-символа.
Также ошибка может возникать если формат не MP4, а mp4. Первый вариант существует, второй - нет.