我创建了一些函数,它们都工作正常,当它们被输出为数组时,没有任何问题,也不会抛出任何错误。为了方便用户,我想把所有这些文件打包到一个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指令时发生,声称它正在另一个设备中使用。
1条答案
按热度按时间ldxq2e6h1#
要在Windows上解决此类问题,请使用SysInternals Process Explorer。
转到菜单查找/查找句柄或DLL...或按Ctrl+F。然后输入文件名或文件名的一部分。不要使用通配符。Process Explorer将列出访问该文件的所有进程。