Maison >développement back-end >Tutoriel Python >Comment utiliser le module zipfile pour créer et décompresser des fichiers ZIP dans Python 3.x

Comment utiliser le module zipfile pour créer et décompresser des fichiers ZIP dans Python 3.x

PHPz
PHPzoriginal
2023-07-30 18:49:531396parcourir

Comment utiliser le module zipfile pour créer et décompresser des fichiers ZIP dans Python 3.x

Introduction :
Dans la programmation Python, gérer la compression et la décompression de fichiers est une tâche courante. Le module zipfile offre un moyen pratique de créer et de décompresser des fichiers ZIP. Cet article expliquera comment utiliser le module zipfile pour créer et décompresser des fichiers ZIP et fournira des exemples de code correspondants.

1. Créer un fichier ZIP :
Pour créer un fichier ZIP, nous devons d'abord importer le module zipfile, puis utiliser l'objet ZipFile pour créer et écrire le fichier. Voici un exemple de code simple :

import zipfile

# 创建一个名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'w') as myzip:
    # 向ZIP文件中写入一个名为file1.txt的文件
    myzip.write('file1.txt')
    # 向ZIP文件中写入一个名为file2.txt的文件
    myzip.write('file2.txt')
    # 可以通过使用相对路径来写入文件到ZIP文件的指定目录下
    myzip.write('folder/file3.txt', 'data/file3.txt')

Dans le code ci-dessus, nous avons utilisé le gestionnaire de contexte de Python (avec instruction) pour garantir que le fichier ZIP est fermé une fois l'opération terminée. Dans l'instruction with, nous écrivons les fichiers dans le fichier ZIP via la méthode write(). La méthode write() contient deux paramètres. Le premier paramètre est le nom ou le chemin du fichier à écrire, et le deuxième paramètre est le chemin du fichier dans le fichier ZIP. Si le deuxième argument n'est pas fourni, le fichier sera écrit dans le répertoire racine du fichier ZIP. with语句内部,我们通过write()方法来向ZIP文件中写入文件。write()方法包含两个参数,第一个参数是要写入的文件名或路径,第二个参数是文件在ZIP文件中的路径。如果第二个参数不提供,则文件将被写入ZIP文件的根目录。

二、解压ZIP文件:
要解压一个ZIP文件,我们可以使用zipfile.ZipFile对象的extractall()方法。下面是一个解压ZIP文件的示例代码:

import zipfile

# 打开名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'r') as myzip:
    # 解压ZIP文件的所有内容到当前目录下
    myzip.extractall()

在上面的代码中,我们使用了与创建ZIP文件类似的上下文管理器,确保在完成解压操作后关闭ZIP文件。我们通过extractall()方法来解压ZIP文件的所有内容到当前目录下。如果需要将ZIP文件解压到指定目录,可以在extractall()方法中传入一个参数,指定解压目标路径。

三、遍历ZIP文件内容:
除了创建和解压ZIP文件,我们还可以遍历ZIP文件中的所有文件和目录。zipfile.ZipFile对象提供了namelist()方法来获取ZIP文件中的所有文件和目录列表。下面是一个遍历ZIP文件内容的示例代码:

import zipfile

# 打开名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'r') as myzip:
    # 获取ZIP文件中的所有文件和目录列表
    filelist = myzip.namelist()
    
    # 遍历文件列表并打印
    for filename in filelist:
        print(filename)

在上面的代码中,我们使用了namelist()方法获取ZIP文件的文件列表,并将其赋值给变量filelist。然后,我们使用for循环遍历filelist

2. Extraire le fichier ZIP :

Pour décompresser un fichier ZIP, nous pouvons utiliser la méthode extractall() de l'objet zipfile.ZipFile. Voici un exemple de code pour décompresser un fichier ZIP :
rrreee

Dans le code ci-dessus, nous utilisons un gestionnaire de contexte similaire à celui utilisé pour créer le fichier ZIP, garantissant que le fichier ZIP est fermé une fois l'opération de décompression terminée. Nous utilisons la méthode extractall() pour extraire tout le contenu du fichier ZIP dans le répertoire courant. Si vous devez extraire le fichier ZIP dans un répertoire spécifié, vous pouvez passer un paramètre dans la méthode extractall() pour spécifier le chemin cible de la décompression. 🎜🎜3. Parcourir le contenu du fichier ZIP : 🎜En plus de créer et de décompresser des fichiers ZIP, nous pouvons également parcourir tous les fichiers et répertoires du fichier ZIP. L'objet zipfile.ZipFile fournit la méthode namelist() pour obtenir une liste de tous les fichiers et répertoires du fichier ZIP. Voici un exemple de code pour parcourir le contenu d'un fichier ZIP : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons la méthode namelist() pour obtenir la liste des fichiers du fichier ZIP et l'attribuer à la variable liste de fichiers. Ensuite, nous utilisons une boucle for pour parcourir la filelist et imprimer les noms de fichiers. 🎜🎜Conclusion : 🎜En utilisant le module zipfile, nous pouvons facilement créer et décompresser des fichiers ZIP. Cet article explique comment utiliser le module zipfile pour créer des fichiers ZIP, décompresser des fichiers ZIP et parcourir le contenu des fichiers ZIP, et fournit des exemples de code correspondants. J'espère que cet article vous a été utile dans la gestion des tâches de compression et de décompression de fichiers dans la programmation Python. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn