Exemple-1 : Compression d'un seul fichier
Créez un nouveau fichier nommé 'code postal1.py' et ajoutez le code suivant. fichier zip le module est importé pour compresser le fichier. température.Zip *: français est attribué comme nom de fichier zip avec le mode d'écriture et ensuite, le nom de fichier d'origine, température.SMS et le type de compression sont donnés en paramètres dans la méthode d'écriture.
importer un fichier zipzip_file = fichier zip.Fichier Zip('temp.zip', 'w')
fichier zip.écrire('temp.txt', compress_type=fichier zip.ZIP_DEFLATED)
fichier zip.Fermer()
Exécutez le script
$ python3 code postal1.pyLa taille de température.SMS est 27 octets et après compression, la taille de température.Zip *: français est 2 octets.
Exemple-2 : Compression d'un répertoire particulier
Créez un nouveau fichier nommé 'code postal2.py' et ajoutez le code suivant. Un répertoire peut contenir de nombreux fichiers, dossiers et sous-dossiers. Pour lire le contenu du répertoire, système d'exploitation le module de python est importé avec fichier zip module pour compresser le répertoire. Dans ce script, mon répertoire le répertoire est utilisé pour la compression.
# importer les modules requisimporter le système d'exploitation
importer un fichier zip
# Déclarez la fonction pour retourner tous les chemins de fichiers du répertoire particulier
def retrieve_file_paths(dirName):
# variable des chemins d'accès aux fichiers d'installation
chemins de fichier = []
# Lire tous les répertoires, sous-répertoires et listes de fichiers
pour la racine, les répertoires, les fichiers dans le système d'exploitation.marcher(dirName):
pour le nom de fichier dans les fichiers :
# Créez le chemin de fichier complet en utilisant le module os.
chemin du fichier = os.chemin.join(racine, nom de fichier)
chemins de fichier.ajouter(cheminFichier)
# renvoie tous les chemins
retourner les chemins de fichiers
# Déclarer la fonction principale
def principal() :
# Attribuez le nom du répertoire à zip
dir_name = 'mydir'
# Appelez la fonction pour récupérer tous les fichiers et dossiers du répertoire attribué
filePaths = retrieve_file_paths(dir_name)
# impression de la liste de tous les fichiers à compresser
print('La liste de fichiers suivante sera compressée :')
pour fileName dans filePaths :
imprimer (nom de fichier)
# écriture de fichiers dans un fichier zip
zip_file = fichier zip.Fichier Zip(dir_name+'.zip', 'w')
avec zip_file :
# écriture de chaque fichier un par un
pour le fichier dans filePaths :
fichier zip.écrire (fichier)
print(dir_name+'.le fichier zip est créé avec succès!')
# Appeler la fonction principale
if __name__ == "__main__":
principale()
Exécutez le script
$ python3 code postal2.pyLa taille de monrépertoire est 21 octets et après compression, la taille de monrépertoire.Zip *: français est 2 octets.
Exemple-3 : Compression d'un répertoire donné par l'argument de ligne de commande
Créez un nouveau fichier nommé 'code postal3.py' et ajoutez le code suivant. Pour lire la valeur de la ligne de commande, un autre module python système est importé avec système d'exploitation et fichier zip modules.
# importer les modules requisimporter le système d'exploitation
importer le système
importer un fichier zip
# Déclarez la fonction pour retourner tous les chemins de fichiers d'un répertoire particulier
def retrieve_file_paths(dirName):
# variable des chemins d'accès aux fichiers d'installation
chemins de fichier = []
# Lire tous les répertoires, sous-répertoires et listes de fichiers
pour la racine, les répertoires, les fichiers dans le système d'exploitation.marcher(dirName):
pour le nom de fichier dans les fichiers :
# Créez le chemin de fichier complet en utilisant le module os.
chemin du fichier = os.chemin.join(racine, nom de fichier)
chemins de fichier.ajouter(cheminFichier)
# renvoie tous les chemins
retourner les chemins de fichiers
# Déclarer la fonction principale
def principal() :
# Vérifiez que deux arguments sont donnés au moment de l'exécution du script
si len (sys.argv) != 2 :
print ("Vous devez entrer le nom du répertoire à compresser")
système.sortie (1)
# Définir le nom du répertoire à partir de l'argument de la commande
dir_name = sys.argv[1]
# Définir le nom du fichier zip
zipFileName = dir_name + ".Zip *: français"
# Appelez la fonction pour récupérer tous les fichiers et dossiers du répertoire attribué
filePaths = retrieve_file_paths(dir_name)
# imprime la liste des fichiers à compresser
print('La liste de fichiers suivante sera compressée :')
pour fileName dans filePaths :
imprimer (nom de fichier)
# écrire des fichiers et des dossiers dans un fichier zip
zip_file = fichier zip.ZipFile(zipFileName, 'w')
avec zip_file :
# écrire chaque fichier séparément
pour le fichier dans filePaths :
fichier zip.écrire (fichier)
print(zipFileName+' le fichier est créé avec succès!')
# Appeler la fonction principale
if __name__ == "__main__":
principale()
Exécutez le script
$ python3 code postal3.pytest est donné comme nom de répertoire dans l'argument de la ligne de commande. La taille de test est 21 octets et après compression, la taille de test.Zip *: français est 2 octets.
J'espère que ce tutoriel vous aidera à utiliser python pour compresser n'importe quel fichier ou répertoire.