How to handle file compression and decompression in Python

PHPz
Release: 2023-10-10 11:00:11
Original
828 people have browsed it

How to handle file compression and decompression in Python

How to deal with file compression and decompression in Python

Introduction:
In daily development and work, we often encounter the need to deal with file compression Decompression problem. Python provides some powerful libraries that allow us to easily handle file compression and decompression operations. This article will introduce commonly used file compression and decompression libraries in Python and provide specific code examples.

  1. zipfile library
    zipfile library is Python's built-in library for processing ZIP files. Through it, we can compress and decompress ZIP files.

Compressed files:
The following is a sample code that shows how to use the zipfile library to compress a folder.

import zipfile
import os

def zip_folder(folder_path, output_path):
    with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for root, dirs, files in os.walk(folder_path):
            for file in files:
                zipf.write(os.path.join(root, file), os.path.relpath(os.path.join(root, file), folder_path))

folder_path = '/path/to/folder'
output_path = '/path/to/output.zip'
zip_folder(folder_path, output_path)
Copy after login

Unzip the file:
The following is a sample code that shows how to use the zipfile library to decompress a ZIP file.

import zipfile

def unzip_file(zip_path, output_path):
    with zipfile.ZipFile(zip_path, 'r') as zipf:
        zipf.extractall(output_path)

zip_path = '/path/to/zip.zip'
output_path = '/path/to/output_folder'
unzip_file(zip_path, output_path)
Copy after login
  1. tarfile library
    The tarfile library is Python’s built-in library for processing tar files. Through it, we can compress and decompress tar files.

Compressed files:
Below is a sample code that shows how to use the tarfile library to compress a folder.

import tarfile
import os

def tar_folder(folder_path, output_path):
    with tarfile.open(output_path, 'w:gz') as tar:
        tar.add(folder_path, arcname=os.path.basename(folder_path))

folder_path = '/path/to/folder'
output_path = '/path/to/output.tar.gz'
tar_folder(folder_path, output_path)
Copy after login

Unzip the file:
The following is a sample code that shows how to use the tarfile library to unzip a tar file.

import tarfile

def untar_file(tar_path, output_path):
    with tarfile.open(tar_path, 'r:gz') as tar:
        tar.extractall(output_path)

tar_path = '/path/to/tar.tar.gz'
output_path = '/path/to/output_folder'
untar_file(tar_path, output_path)
Copy after login
  1. gzip library
    The gzip library is Python’s built-in library that handles gzip file compression and decompression.

Compressed files:
Below is a sample code that shows how to use the gzip library to compress files.

import gzip

def gzip_file(file_path, output_path):
    with open(file_path, 'rb') as f_in:
        with gzip.open(output_path, 'wb') as f_out:
            f_out.writelines(f_in)

file_path = '/path/to/file.txt'
output_path = '/path/to/output.txt.gz'
gzip_file(file_path, output_path)
Copy after login

Decompressing files:
Below is a sample code that shows how to use the gzip library to decompress files.

import gzip

def gunzip_file(gzip_path, output_path):
    with gzip.open(gzip_path, 'rb') as f_in:
        with open(output_path, 'wb') as f_out:
            f_out.writelines(f_in)

gzip_path = '/path/to/gzip.txt.gz'
output_path = '/path/to/output.txt'
gunzip_file(gzip_path, output_path)
Copy after login

Summary:
By using the zipfile, tarfile and gzip libraries in Python, we can easily handle file compression and decompression operations. These libraries provide easy-to-use interfaces and rich functional options to meet various needs in daily work. In the process of using these libraries, we can flexibly choose the appropriate method according to the specific situation to achieve the purpose of efficiently processing file compression and decompression.

The above is the detailed content of How to handle file compression and decompression in Python. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template