【发布时间】:2022-01-04 01:18:29
【问题描述】:
当我尝试解压缩文件并删除旧文件时,它说它仍在运行,所以我使用了关闭功能,但它没有关闭它。
这是我的代码:
import zipfile
import os
onlineLatest = "testFile"
myzip = zipfile.ZipFile(f'{onlineLatest}.zip', 'r')
myzip.extractall(f'{onlineLatest}')
myzip.close()
os.remove(f"{onlineLatest}.zip")
我得到这个错误:
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'Version 0.1.2.zip'
有人知道如何解决这个问题吗?
只有之前运行过的其他部分,但不要认为这是问题所在:
request = service.files().get_media(fileId=onlineVersionID)
fh = io.FileIO(f'{onlineLatest}.zip', mode='wb')
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
myzip = zipfile.ZipFile(f'{onlineLatest}.zip', 'r')
myzip.extractall(f'{onlineLatest}')
myzip.close()
os.remove(f"{onlineLatest}.zip")
【问题讨论】:
-
嘿,我尝试了我的 ZIP 之一的相同代码,它正在正常工作,没有错误
-
您在 Windows 上运行吗?这可能是特定于操作系统的行为。
-
@joanis 是的,但我也打算在 linux 上运行
-
我没有看到关闭
fh的电话,我敢打赌这就是问题所在。 -
@joanis 就是这样,我出于某种原因试图关闭状态,我从没想过关闭 fh, tysm
标签: python windows zip python-zipfile