Как избавиться от ошибки в коде для склейки видео по запросу пользователя? moviepy
Я совсем новичок, решил поэкспериментировать, поэтому заранее извиняюсь)
В общем, была задача такая:
-в папке лежат 33 gif с анимацией каждой буквы алфавита
-пользователь вводит слово, например, "привет"
-программа склеивает gif в нужном порядке и сохраняет в папке
Вот код:
from moviepy.editor import *
def gif_list(usr_inp):
lst = list(usr_inp.upper())
gifs = []
for i in lst:
gif_path = (f'"./Video2/{i}.gif"')
print(gif_path)
gifs.append(VideoFileClip(gif_path))
return gifs
def make_gif(inp):
final = concatenate_videoclips(gif_list(inp))
final.write_gif(f'{inp}.gif')
return
user_input = input("Введите слово для получения видео: \n")
make_gif(user_input)
Выдает ошибку:
"/Video2/Б.gif": Invalid argument
А если использовать
lst.append(VideoFileClip("./Video2/Б.gif"))
то работает.
Как исправить, чтобы путь к файлу правильно считывался?
Спасибо!
Ответы (2 шт):
Автор решения: Стас
→ Ссылка
Вы используете UNIX-style path (пути в стиле UNIX).
- Куда ведет
/Video2/Б.gif? Он обращается по пути[корень диска] -> папка "Video2" -> файл "Б.gif". В Windows этот путь можно представить, например, так:C:\Video2\Б.gif - А в случае с
./Video2/Б.gifповедение будет немного другим. Здесь компьютер обратится по пути[папка, в которой находится скрипт] -> папка "Video2" -> файл "Б.gif".
Вам походит вариант номер 2.
Автор решения: ABCser
→ Ссылка
РЕШЕНО!
Заменил
gif_path = (f'"./Video2/{i}.gif"')
на
gif_path = (f'./Video2/{i}.gif')
и все заработало! Спасибо!