Python

Utiliser python pour compresser un fichier et un répertoire

Utiliser python pour compresser un fichier et un répertoire
Un fichier compressé contient de nombreux fichiers, répertoires et sous-répertoires. De nombreuses applications sont disponibles pour créer un fichier compressé de tout fichier ou répertoire volumineux et récupérer des fichiers ou des dossiers en extrayant un fichier compressé. Lorsque nous voulons transférer un dossier ou un dossier volumineux sur Internet, il est préférable de compresser le contenu avant de transférer. Cela rend la tâche plus rapide. Vous pouvez utiliser des scripts python pour compresser et extraire n'importe quel fichier ou répertoire volumineux. fichier zip module de python est utilisé pour faire la tâche. Comment vous pouvez utiliser python3 pour compresser n'importe quel fichier ou répertoire est montré dans ce tutoriel en utilisant divers exemples.

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 zip
zip_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.py

La 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 requis
 
importer 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.py

La 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 requis
 
importer 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.py

test 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.

Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...
Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...
Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...