我将视频mp4文件转换为音频mp3格式,现在我想使用os.remove删除原始的MP4视频文件,但出现错误

时间:2020-07-02 05:31:08

标签: python module operating-system

以前,我将mp4视频文件转换为mp3音频文件。现在,我想使用删除原始的mp4视频文件

os.remove

但是,当我执行代码时,它显示了如下错误:

Win32 error : The process cannot access the file because it is being used by another process

下面是我的代码:

try:
    global stram
    b2.config(text="Please wait...")
    b2.config(state=DISABLED)
    stream = yt.streams.filter(progressive=True)
    path = filedialog.askdirectory()
    if path == None:
        return
    stream[0].download(path)
    for i in os.listdir(path):
        os.rename(os.path.join(path,i),os.path.join(path,i.replace(' ','_')))
    title = yt.title.replace(' ','_')
    video = VideoFileClip(os.path.join(path+"/"+title+".mp4"))
    video.audio.write_audiofile(os.path.join(path+"/"+title+".mp3"))

    l3 = Label(action,text="Download Complete",font=("Calibri",12),fg = "green").pack()
    b2.config(text="Download Audio")
    try:
        file = str(f'{title}.mp4')
        os.remove(os.path.join(path,file))
    except Exception as e:
        print(e)
except Exception as e:
    l3 = Label(action,text="Error occured while Downloading",font=("Calibri",12),fg = "red").pack()

有人知道为什么会发生此错误吗?您的帮助将不胜感激。预先感谢!

1 个答案:

答案 0 :(得分:0)

关于Windows,我不是专家,但是我认为通过“另一个过程”,它实际上是指您的python脚本或您在python脚本中使用的模块。我的猜测是,您应该找到一种方法来关闭video变量。

基于this,您应该可以在video.close()之前做os.remove