将视频文件转换为GIF

问题描述 投票:0回答:1

我想做一个基于python 3.8的转换器

我正在使用imageoi API 2.6.1

这是我认为我做错了的一些代码

from tkinter import *
from tkinter import filedialog
import imageio
import os

root = Tk()
ftypes = [('All Files', "*.*"), ('Webm', "*.webm")]
ttl = "Select Files(s)"
dir1 = 'D:/My Pictures/9gag'
root.fileName = filedialog.askopenfilenames(filetypes=ftypes, initialdir=dir1, title=ttl)
lst = list(root.fileName)


def path_leaf(path):
    return path.strip('/').strip('\\').split('/')[-1].split('\\')[-1]


print([path_leaf(path) for path in lst])
lst2 = [path_leaf(path) for path in lst]
print(lst)


def gifMaker(inputPath, targetFormat):
    outputPath = os.path.splitext(inputPath)[0] + targetFormat
    print(f'converting {inputPath} \n to {outputPath}')

    reader = imageio.get_reader(inputPath)
    fps = reader.get_meta_data()['fps']

    writer = imageio.get_writer(outputPath, fps=fps)

    for frames in reader:
        writer.append_data(frames)
        print(f'Frame {frames}')
    print('Done!')
    writer.close()


for ad in lst2:
    gifMaker(ad, '.gif')

并且错误显示如下:>

Traceback (most recent call last):
  File "D:/My Pictures/GIF/GIF.py", line 41, in <module>
    gifMaker(ad, '.gif')
  File "D:/My Pictures/GIF/GIF.py", line 28, in gifMaker
    reader = imageio.get_reader(inputPath)
  File "C:\Python\Anaconda3\lib\site-packages\imageio\core\functions.py", line 173, in get_reader
    request = Request(uri, "r" + mode, **kwargs)
  File "C:\Python\Anaconda3\lib\site-packages\imageio\core\request.py", line 126, in __init__
    self._parse_uri(uri)
  File "C:\Python\Anaconda3\lib\site-packages\imageio\core\request.py", line 278, in _parse_uri
    raise FileNotFoundError("No such file: '%s'" % fn)
FileNotFoundError: No such file: 'D:\My Pictures\GIF\a6VOVL2_460sv.mp4'

所以,我想念或错什么?我不明白为什么错误会显示“找不到文件”。有人可以向我详细解释这些错误是如何发生的吗?

我想基于python 3.8创建一个转换器,我正在使用imageoi API 2.6.1,这是我认为我从tkinter import * from tkinter import filedialog import imageio ...错了的一些代码。] >>> < [

有几种可能性也许您输错了路径/文件名。可能路径中的空间引起了麻烦。
python gif python-3.8
1个回答
0
投票
有几种可能性也许您输错了路径/文件名。可能路径中的空间引起了麻烦。
© www.soinside.com 2019 - 2024. All rights reserved.