📜  获取文件中的文件 zip python (1)

📅  最后修改于: 2023-12-03 14:57:15.656000             🧑  作者: Mango

如何在Python中获取ZIP文件中的文件

当我们需要从一个ZIP文档中提取或获取文件时,Python提供了一个内置的模块 zipfile 来处理这些任务。

安装 zipfile 模块

Python的 zipfile 模块是一个内置模块,因此您不必安装它。但是,在使用之前,需要导入它。

import zipfile
从ZIP文件中提取文件
import zipfile
  
with zipfile.ZipFile('sample.zip', 'r') as zip_ref:
    zip_ref.extractall('extractedFiles')

在上面的代码中,我们首先用 zipfile.ZipFile 打开了 sample.zip 文件。第二个参数 'r' 代表以只读模式打开 ZIP 文件。

然后我们使用 extractall() 方法从 ZIP 文件中提取所有文件,并将其提取到一个名为 'extractedFiles' 的文件夹中。如果文件不存在,则会创建该文件夹。

读取ZIP文件中的单个文件
import zipfile
  
with zipfile.ZipFile('sample.zip', 'r') as zip_ref:
    with zip_ref.open('file.txt') as file:
        print(file.read().decode())

在这个例子中,我们使用了 open() 方法读取 ZIP 文件中名为 'file.txt' 的文件,然后使用 read() 方法将其读入内存。最后,我们使用 decode() 方法将字节串转换为字符串。

添加文件到ZIP文件
import zipfile
  
with zipfile.ZipFile('sample.zip', 'a') as zip_ref:
    zip_ref.write('new_file.txt')

在上面的代码中,我们使用 zipfile.ZipFile 以追加模式打开 sample.zip 文件。然后,我们使用 write() 方法将 new_file.txt 文件添加到 ZIP 文件中。

给压缩文件加密码

如果您需要保护 ZIP 文件中的文件,可以使用 setpassword() 方法为 ZIP 文件设置密码。

import zipfile
  
with zipfile.ZipFile('sample.zip', 'w') as zip_ref:
    zip_ref.setpassword(b'myPassword')
    zip_ref.write('file.txt')

在上面的代码中,我们使用了 setpassword() 方法为 ZIP 文件设置了密码为 'myPassword'。请注意,密码必须是字节串类型。

结论

Python的 zipfile 模块提供了一种方便的方式来读取和创建 ZIP 文件。它是一个内置的模块,因此您不需要在使用之前安装任何内容。使用它,您可以轻松地读取和写入 ZIP 文件中的文件,并添加密码来保护您的文件。