Errno 5 Input/output 关闭控制台时出错

Errno 5 Input/output error when closing console

我有一个视频转换器,可以转换音频和视频文件。一切正常,但如果我从我的服务器 close 我的终端,音频文件转换不再工作。我使用 PyTube 进行转换,使用 moviepy 将 pytube 中的 mp4 转换为 mp3。 (我觉得这个问题和moviepy bc有关,之前我没有。)

这是我转换音频的代码:

        if format == "3":
            yt = YouTube(videolink)
            downloads = MEDIA_ROOT + "/videos/"
            ys = yt.streams.filter(file_extension='mp4').first().download(downloads)
            base, ext = os.path.splitext(ys)
            basename = os.path.basename(base + uuid + '.mp3')
            videoclip = VideoFileClip(ys)
            audioclip = videoclip.audio
            audioclip.write_audiofile(base + uuid + ".mp3")
            audioclip.close()
            videoclip.close()

可能 os 代码有问题。

但我不明白为什么如果我让控制台保持打开状态它会起作用。

我很感谢我得到的每一个帮助。

所以我为面临相同问题的每个人找到了解决方案。您必须在 moviepy 中禁用控制台输出。您可以在“写入”函数中使用记录器参数来执行此操作。然后错误应该消失。