Python文件压缩后未删除

46qrfjad  于 2023-01-08  发布在  Python
关注(0)|答案(1)|浏览(113)

我创建了一些函数,它们都工作正常,当它们被输出为数组时,没有任何问题,也不会抛出任何错误。为了方便用户,我想把所有这些文件打包到一个ZIP文件夹中,我使用了python中的zipfile import来完成这个操作。然而,当删除zip文件夹和相关目录时,我得到了一个错误。我得到的错误是:
第一个月
这是我的python代码:

for file in glob.glob('sent/*.ytd'):

            discord_prep = discord.File(file)
            uniforms.append(file)

            print("-- File to Send --")
            print(file)
            print("- File to Send Array -")
            print(uniforms)

        with zipfile.ZipFile(name + ".zip", mode="w") as archive:
            print("Making Archieve")

            for filename in uniforms:
                print(filename)
                archive.write(filename)

        archive.close()

        final_zip = discord.File(name + ".zip")

        await discord.asyncio.sleep(1)

        await ctx.send(
            file=final_zip
        )

        os.remove(name + ".zip")

        removing_files = glob.glob('sent/*.ytd')
        dir = os.listdir("sent/")

        if not len(dir) == 0:
            print("Clearing YTDs from Sent Folder")
            for i in removing_files:
                os.remove(i)

            print("All YTDs Removed")
        else:
            print("No YTDs to Clear")

        shutil.rmtree("sent/", ignore_errors=False, onerror=None)
        print("Sent Folder Deleted")

我尝试并确保我的所有with open方法都关闭了,它们确实关闭了,但这个错误只在我运行ZIP指令时发生,声称它正在另一个设备中使用。

ldxq2e6h

ldxq2e6h1#

要在Windows上解决此类问题,请使用SysInternals Process Explorer
转到菜单查找/查找句柄或DLL...或按Ctrl+F。然后输入文件名或文件名的一部分。不要使用通配符。Process Explorer将列出访问该文件的所有进程。

相关问题