Python Zipfile Module
Reading ZIP files
>>> with zipfile.ZipFile('example.zip') as example_zip:
... print(example_zip.namelist())
... spam_info = example_zip.getinfo('spam.txt')
... print(spam_info.file_size)
... print(spam_info.compress_size)
... print('Compressed file is %sx smaller!' % (round(spam_info.file_size / spam_info.compress_size, 2)))
...
# ['spam.txt', 'cats/', 'cats/catnames.txt', 'cats/zophie.jpg']
# 13908
# 3828
# 'Compressed file is 3.63x smaller!'
Extracting from ZIP Files
The extractall()
method for ZipFile objects extracts all the files and folders from a ZIP file into the current working directory.
>>> with zipfile.ZipFile('example.zip') as example_zip:
... example_zip.extractall()
The extract()
method for ZipFile objects will extract a single file from the ZIP file:
>>> with zipfile.ZipFile('example.zip') as example_zip:
... print(example_zip.extract('spam.txt'))
... print(example_zip.extract('spam.txt', 'C:\\some\\new\\folders'))
...
# 'C:\\spam.txt'
# 'C:\\some\\new\\folders\\spam.txt'
Creating and Adding to ZIP Files
>>> import zipfile
>>>
>>> with zipfile.ZipFile('new.zip', 'w') as new_zip:
... new_zip.write('spam.txt', compress_type=zipfile.ZIP_DEFLATED)
This code will create a new ZIP file named new.zip that has the compressed contents of spam.txt.
Reading metadata of ZIP files
Getting the filenames with namelist()
>>> import zipfile
>>>
>>> with zipfile.ZipFile('example.zip', 'r') as zf:
... print(zf.namelist())
...
# ['README.txt']
Getting all metadata with infolist()
>>> import datetime
>>> import zipfile
>>>
>>> with zipfile.ZipFile(archive_name) as zf:
... for info in zf.infolist():
... system = 'Windows' if info.create_system == 0 else 'Unix'
... modified = datetime.datetime(*info.date_time)
... print(info.filename)
... print(f'Comment : {info.comment}')
... print(f'Modified : {modified}')
... print(f'System : {system}')
... print(f'ZIP version : {info.create_version}')
... print(f'Compressed : {info.compress_size} bytes')
... print(f'Uncompressed: {info.file_size} bytes')
...
# README.txt
# Comment : b''
# Modified : 2022-11-15 06:48:02
# System : Unix
# ZIP version : 30
# Compressed : 65 bytes
# Uncompressed: 76 bytes
- Previous
- Next
Python abs() built-in function
Python aiter() built-in function
Python all() built-in function
Python any() built-in function
Python ascii() built-in function
Python bin() built-in function
Python bool() built-in function
Python breakpoint() built-in function
Python bytearray() built-in function
Python bytes() built-in function
Python callable() built-in function
Python chr() built-in function
Python classmethod() built-in function
Python compile() built-in function
Python complex() built-in function
Python delattr() built-in function
Python dict() built-in function
Python dir() built-in function
Python divmod() built-in function
Python enumerate() built-in function
Python eval() built-in function
Python exec() built-in function
Python filter() built-in function
Python float() built-in function
Python format() built-in function
Python frozenset() built-in function
Python getattr() built-in function
Python globals() built-in function
Python hasattr() built-in function
Python hash() built-in function
Python help() built-in function
Python hex() built-in function
Python id() built-in function
Python __import__() built-in function
Python input() built-in function
Python int() built-in function
Python isinstance() built-in function
Python issubclass() built-in function
Python iter() built-in function
Python len() built-in function
Python list() built-in function
Python locals() built-in function
Python map() built-in function
Python max() built-in function
Python memoryview() built-in function
Python min() built-in function
Python next() built-in function
Python object() built-in function
Python oct() built-in function
Python open() built-in function
Python ord() built-in function
Python pow() built-in function
Python print() built-in function
Python property() built-in function
Python range() built-in function
Python repr() built-in function
Python reversed() built-in function
Python round() built-in function
Python set() built-in function
Python setattr() built-in function
Python slice() built-in function
Python sorted() built-in function
Python staticmethod() built-in function
Python str() built-in function
Python sum() built-in function
Python super() built-in function
Python tuple() built-in function
Python type() built-in function
Python vars() built-in function
Python zip() built-in function
Python Args and Kwargs
Python Basics
Python built-in functions
Python Comprehensions
Python Context Manager
Python Control Flow
Python Dataclasses
Python Debugging
Python Dictionaries
Python Exception Handling
File and directory Paths
Python Functions
Python Json and YAML
Python Lists and Tuples
Python Main function
Manipulating strings
Python OOP Basics
Reading and writing files
Python Regular Expressions
Python Sets
Python Setup.py
Python String Formatting
Python Virtual environments