Python 3.x 如何在使用线程时解决winerror32?

Python 3.x 如何在使用线程时解决winerror32?,python-3.x,python-multithreading,Python 3.x,Python Multithreading,我目前正在使用python从internet下载mp4文件,将其转换为mp3,然后删除mp4文件。我想一次运行3个进程,所以我使用线程。然而,当我访问下载mp4的文件夹时,它给了我winerror32 我认为这是因为一个线程与另一个线程同时访问文件夹。有没有办法强制线程一次访问一个文件夹 我尝试使用lock一次只允许一个线程,但它不起作用 def download_multi(music,links,check,parent_file,default_filename,success,fail,

我目前正在使用python从internet下载mp4文件,将其转换为mp3,然后删除mp4文件。我想一次运行3个进程,所以我使用线程。然而,当我访问下载mp4的文件夹时,它给了我winerror32

我认为这是因为一个线程与另一个线程同时访问文件夹。有没有办法强制线程一次访问一个文件夹

我尝试使用lock一次只允许一个线程,但它不起作用

def download_multi(music,links,check,parent_file,default_filename,success,fail,total):
    try:
        lock = threading.Lock()
        lock.acquire()
        print(format(threading.currentThread().getName()))
        print("Downloading- ", str(check), "/", total, default_filename + "...")
        check += 1
        lock.release()
        # downloads first audio stream
        music.download(parent_file)
        # creates mp3 filename for downloaded file
        new_filename = default_filename[0:-3] + "mp3"
        print("\nConverting to mp3....")
        # converts mp4 audio to mp3 audio
        lock.acquire()
        audioclip = VideoFileClip(os.path.join(parent_file, default_filename))
        audioclip.audio.write_audiofile(os.path.join(parent_file, new_filename))
        # print("Download finished.")
        # end the video process
        audioclip.close()
        # erase mp4
        if os.path.isfile(parent_file + "\\" + default_filename):
            os.remove(parent_file + "\\" + default_filename)
            print(default_filename + "delete complete\n")

            # list that would be added to log file
            success.append(default_filename)
        lock.release()
    except Exception as e:
        print(e)
        print("unable to download " + default_filename)
        # list that would be added to log file
        fail.append(default_filename)
        pass

问题是我给方法传递了错误的参数。代码本身没有问题