赞
踩
pip install py7zr -i https://pypi.douban.com/simple
解压全部文件到制指定目录
import py7zr
with py7zr.SevenZipFile('./target.7z', mode='r') as z:
z.extractall(path='./')
压缩指定目录内全部文件到7z文件:
import py7zr
with py7zr.SevenZipFile('target.7z', 'w') as z:
z.writeall('./base_dir')
上面这俩是网上的常见例子,但是我场景需要制定个别文件压缩到7z,所以探索了下,具体实现如下:
import py7zr
with py7zr.SevenZipFile('target.7z', 'w') as z:
file_list = ['21123.txt', 'dsadsadsa.txt']
for f in file_list:
z.write('./upload/' + f)
z.write('./upload/' + f)
kk = os.listdir('./upload/')
for f in kk:
if f.endswith('csv'):
z.write('./upload/' + f)
print([x.filename for x in z.list()])
看上面的指定文件名压缩,同理,可以仅提取压缩包内的指定文件
with py7zr.SevenZipFile('./target.7z', mode='r') as z:
out_files = [f.filename for f in z.list() if f.filename.endswith('csv')]
z.extract(path='./csv', targets=out_files)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。