在Python中,您可以使用aiofiles
库来异步解压ZIP文件。首先,确保安装了aiofiles
库:
pip install aiofiles
然后,您可以使用以下代码异步解压ZIP文件:
import aiofiles import asyncio import zipfile async def unzip_async(zip_file_path, dest_path): async with aiofiles.open(zip_file_path, mode='rb') as f: zip_content = await f.read() with zipfile.ZipFile(io.BytesIO(zip_content)) as zip_ref: zip_ref.extractall(dest_path) async def main(): zip_file_path = 'example.zip' dest_path = 'extracted_files' await unzip_async(zip_file_path, dest_path) print(f"ZIP file {zip_file_path} has been unzipped to {dest_path}") if __name__ == '__main__': asyncio.run(main())
在这个示例中,我们首先使用aiofiles
库异步读取ZIP文件的内容。然后,我们将ZIP内容放入一个BytesIO
对象,以便将其作为文件对象传递给zipfile
模块。最后,我们使用zipfile
模块的extractall
方法将ZIP文件解压到指定的目标目录。