Бот для загрузки видео из 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. Первый вариант существует, второй - нет.

→ Ссылка