gpt4 book ai didi

python - 解压缩后无法删除压缩文件

转载 作者:可可西里 更新时间:2023-11-01 14:43:38 25 4
gpt4 key购买 nike

我试图在 Windows 上解压缩内容后删除压缩文件。内容可以存储在 zip 中的文件夹结构中。我正在使用 with 语句并认为这会关闭类文件对象 (source var) 和 zip 文件。我删除了与保存源文件相关的代码行。

import zipfile
import os

zipped_file = r'D:\test.zip'

with zipfile.ZipFile(zipped_file) as zip_file:
for member in zip_file.namelist():
filename = os.path.basename(member)
if not filename:
continue
source = zip_file.open(member)

os.remove(zipped_file)

返回的错误是:

WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'D:\\test.zip'

我试过:

  • 遍历 os.remove 行以防出现轻微的时间问题
  • 明确使用 close 而不是 with 语句
  • 尝试在本地 C 盘和映射 D 盘

最佳答案

不是将字符串传递给 ZipFile 构造函数,而是可以将它传递给一个类似对象的文件:

import zipfile
import os

zipped_file = r'D:\test.zip'

with open(zipped_file, mode="r") as file:
zip_file = zipfile.ZipFile(file)
for member in zip_file.namelist():
filename = os.path.basename(member)
if not filename:
continue
source = zip_file.open(member)

os.remove(zipped_file)

关于python - 解压缩后无法删除压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35010768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com