22 lines
713 B
Python
22 lines
713 B
Python
from zipfile import ZipFile
|
|
|
|
|
|
def human_read_format(size):
|
|
if size < 1024:
|
|
return f"{size}Б"
|
|
elif size < 1024 * 1024:
|
|
return f"{round(size / 1024)}КБ"
|
|
elif size < 1024 * 1024 * 1024:
|
|
return f"{round(size / (1024 * 1024))}МБ"
|
|
elif size < 1024 * 1024 * 1024 * 1024:
|
|
return f"{round(size / (1024 * 1024 * 1024))}ГБ"
|
|
|
|
|
|
with ZipFile('input.zip') as myzip:
|
|
for i, j in enumerate(myzip.filelist):
|
|
items = myzip.namelist()[i].rstrip("/").split("/")
|
|
if myzip.namelist()[i][-1] == "/":
|
|
print(" " * (len(items) - 1) + items[-1])
|
|
else:
|
|
print(f'{" " * (len(items) - 1) + items[-1]} {human_read_format(j.file_size)}')
|