-
Notifications
You must be signed in to change notification settings - Fork 0
/
_zipfile.py
30 lines (24 loc) · 904 Bytes
/
_zipfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import zipfile
def create(path, files):
if not path.endswith('.zip'):
path += '.zip'
with zipfile.ZipFile(path, 'w') as handler:
for file in files:
handler.write(file)
def extract(path):
if zipfile.is_zipfile(path):
with zipfile.ZipFile(path, 'r') as handler:
handler.extractall()
def add(zip_path, file_path):
if zipfile.is_zipfile(zip_path):
with zipfile.ZipFile(zip_path, 'w') as handler:
handler.write(file_path)
def file_list(path):
if zipfile.is_zipfile(path):
with zipfile.ZipFile(path) as handler:
return handler.namelist()
def read(zip_path, file_path):
if zipfile.is_zipfile(zip_path):
with zipfile.ZipFile(zip_path) as zip_handler:
with zip_handler.open(file_path) as file_handler:
return file_handler.read()