py7zr 怎么将一个7z压缩文件中符合条件的文件全部提取出来到一个新的7z包
时间: 2023-08-14 11:24:47 浏览: 42
要将一个7z压缩文件中符合条件的文件全部提取出来到一个新的7z包,可以使用py7zr中的以下代码:
```python
import py7zr
# 打开原始的7z文件
with py7zr.SevenZipFile('original.7z', mode='r') as z:
# 获取7z文件中的文件列表
file_list = z.getnames()
# 筛选出符合条件的文件列表
selected_files = [file for file in file_list if 'condition' in file]
# 提取符合条件的文件到新的7z文件
with py7zr.SevenZipFile('new.7z', mode='w') as z2:
for file in selected_files:
z2.write(file)
```
其中,'original.7z'是原始的7z文件名,'condition'是符合条件的关键词,'new.7z'是新的7z文件名。该代码会打开原始的7z文件,获取其中的文件列表,筛选出符合条件的文件列表,然后将这些文件提取到新的7z文件中。注意,在使用py7zr库时,需要事先安装该库,可以使用pip命令进行安装。
相关问题
py7zr在不解压7z文件的情况下,将压缩包中的内容提取到新的7z压缩包
可以使用py7zr模块的addall()方法将压缩包中的内容提取到新的7z压缩包中,具体步骤如下:
1. 导入py7zr模块:
```
import py7zr
```
2. 打开原始7z压缩包:
```
with py7zr.SevenZipFile('original.7z', 'r') as archive:
```
3. 创建新的7z压缩包:
```
with py7zr.SevenZipFile('new.7z', 'w') as new_archive:
```
4. 使用addall()方法将原始压缩包中的所有内容添加到新的压缩包中:
```
new_archive.addall(archive)
```
5. 关闭压缩包:
```
archive.close()
new_archive.close()
```
这样,就可以将原始压缩包中的内容提取到新的7z压缩包中,而不需要解压原始压缩包。
py7zr压缩文件
好的,您想了解关于 py7zr 压缩文件的内容,是吗?
py7zr 是一个 Python 模块,它可以用于创建、读取和提取 7z 压缩文件。您可以使用这个模块来压缩文件、文件夹或者其他数据,并将它们存储在一个 7z 压缩文件中。同时,您也可以使用 py7zr 从 7z 压缩文件中提取数据。
下面是一个使用 py7zr 压缩文件的示例代码:
```python
import py7zr
# 创建一个 7z 压缩文件
with py7zr.SevenZipFile('example.7z', 'w') as archive:
archive.writeall('path/to/folder')
# 从 7z 压缩文件中提取数据
with py7zr.SevenZipFile('example.7z', 'r') as archive:
archive.extractall('path/to/extract/folder')
```
在上面的示例中,我们创建了一个名为 example.7z 的压缩文件,并将 path/to/folder 中的所有文件和文件夹添加到了这个压缩文件中。然后,我们使用相同的压缩文件路径和 'r' 模式从压缩文件中提取了所有数据,并将它们解压到了 path/to/extract/folder 中。
希望能够帮助到您!