以前,我将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()
有人知道为什么会发生此错误吗?您的帮助将不胜感激。预先感谢!
答案 0 :(得分:0)
关于Windows,我不是专家,但是我认为通过“另一个过程”,它实际上是指您的python脚本或您在python脚本中使用的模块。我的猜测是,您应该找到一种方法来关闭video
变量。
基于this,您应该可以在video.close()
之前做os.remove
。