Objet Python Zipinfo

Objet Python Zipinfo
La compression de données sans perte est prise en charge par le format de fichier d'archive connu sous le nom de zip. La compression sans perte est lorsque les données d'origine peuvent être recréées avec précision à partir des données compressées, grâce à l'algorithme de compression. Par conséquent, un fichier zip est un seul fichier qui contient un ou plusieurs fichiers compressés, offrant une approche parfaite pour réduire la taille des fichiers énormes et garder ensemble des informations connexes.

Nous découvrirons dans cet article comment utiliser l'objet zipinfo ZipFile de Python pour manipuler les fichiers zip. Python a un module intégré appelé ZipFile qui contient l'objet Zipinfo. En utilisant la classe zipfile zipinfo, on peut représenter un membre du dossier zip. Lorsque vous utilisez les fonctions getInfo () et infolist () sur des objets ZipFile, les objets de la classe Zipinfo sont renvoyés. Les informations d'un membre individuel de l'archive zip sont stockées dans chaque objet. Un objet Zipinfo ne peut pas être créé directement. En utilisant les méthodes supplémentaires ci-dessous, nous pouvons acquérir des instances de classe Zipinfo.

  1. Une liste d'objets Zipinfo représentant chaque membre de la classe ZipFile est conservé dans la constante FileList de l'objet.
  2. De plus, une liste d'objets de classe Zipinfo pour les membres d'un fichier zip est renvoyée par la méthode Infolist () d'un objet de classe ZipFile.
  3. Un objet de la classe Zipinfo appartenant à un membre spécifique est renvoyé par la fonction getInfo () d'un objet de classe ZipFile.

Syntaxe de l'objet Zipinfo à Python

Syntaxe zipinfo suivante, nous avons déployé dans notre script python.

Zipinfo.From_file (nom de fichier, arcName = Aucun, strict_timestamps = true)

Ci-dessous, nous avons brièvement discuté de la syntaxe de Zipinfo.

Un argument obligatoire est requis par la fonction de fichier (). Le chemin d'accès au fichier à partir duquel l'objet Zipinfo a été construit est conservé dans le champ «Nom de fichier». Ce chemin pourrait être un objet du type de chemin ou un nom de fichier du type de classe STR. De plus, il a un argument facultatif «nom d'arc». Le nom utilisé pour créer un objet Zipinfo est stocké dans cet argument.

Semblable au paramètre de nom de fichier, il a la même valeur par défaut. ArcName obtient le nom de fichier dans l'objet Zipinfo lorsqu'un nom différent est donné à l'option ArcName. Un objet Zipinfo est renvoyé par cette méthode. Toutes les informations nécessaires au fichier avec le nom de fichier spécifié pour devenir un fichier zip sont contenues dans cet objet Zipinfo. Par la suite, ces données sont récupérées en suivant les besoins de l'utilisateur.

Exemple 1:
Nous avons utilisé la fonction dir () pour étudier chaque objet dans la classe ZipFile Zipinfo. Regardez le code ci-dessous.

Importer zipfile
Imprimer (dir (zipfile.zipinfo))

Comme déjà discuté ci-dessus, Zipinfo est accessible par le module ZipFile à Python. Ici, nous avons ajouté le module ZipFile pour obtenir l'objet Zipinfo. Ensuite, nous avons une méthode d'impression où nous avons invoqué la méthode dir () pour afficher tous les objets que la classe Zipinfo contient. Pour cela, nous avons passé le zipfile avec l'objet zipinfo à la méthode d'impression.

Lorsque le code ci-dessus est débogué, il génère les résultats suivants:

Exemple 2:
Nous avons utilisé les instances Zipinfo dans le code suivant pour expliquer la fonctionnalité de chaque méthode sur les fichiers ZIP. Voyons le code, nous avons implémenté ci-dessous.

importer zipfile
zf = zipfile.Zipfile ("myfile.zip "," w ")
zf.Écrivez ("Myfile.txt "," dir / myfile.SMS")
Imprimer (ZF.Infolist () [0].nom de fichier)
def main ():
avec zipfile.Zipfile ('myfile.zip ') comme fichier:
archive = fichier.Infolist ()
read_file = archive [-1]
print ("Nom de fichier: - ".format (read_file.nom de fichier))
print ("taille de fichier: - ".format (read_file.taille du fichier))
print ("est répertoire: - ".format (read_file.is_dir ()))
print ("Date et heure du fichier: - ".format (read_file.date_time))
Si __Name__ == '__MAIN__': Main ()

Ici, nous avons d'abord importé le package ZipFile. Ensuite, nous avons implémenté un code pour ajouter le répertoire de fichiers pour stocker les fichiers zip. Pour cela, nous avons créé un objet en tant que ZF et spécifié le nom de fichier à l'intérieur de la fonction de classe ZipFile ZipFile. Nous avons défini le nom de fichier zip à l'intérieur de cette fonction en mode d'écriture. Nous avons appelé la fonction d'écriture, où nous définissons le répertoire du fichier. Après cela, dans la fonction d'impression, nous avons appelé la fonction infoiste pour contenir tous les fichiers et dossiers du répertoire spécifié.

Comme le répertoire de fichiers zip est défini, nous pouvons utiliser l'objet Zipinfo de la classe ZipFile. Nous avons défini la fonction principale de ce programme avec le mot-clé DEF. À l'intérieur de la fonction, nous avons appelé le fichier zip qui est présent comme `` myfile.zipper'. Nous avons créé une variable en tant qu'archive où nous avons Infolist (). L'infolist () est l'instance de la classe zipfile. La fonction «InfoList ()» renvoie une liste de tous les fichiers et répertoires dans les objets zip -> «zipinfo».

Après cela, l'élément final de la liste est affecté à une «archive» variable afin que toutes les méthodes «Zipinfo» puissent être testées. En fin de compte, nous avons une déclaration d'impression où nous avons utilisé les objets de classe Zipinfo. La première déclaration d'impression a le zipinfo.nom de fichier qui renvoie le nom du fichier. Ensuite, nous avons une taille de fichier Zipinfo, des objets IS_DIR et Date_time de la classe Zipinfo pour renvoyer la sortie spécifique en fonction de leur fonctionnalité.

Les objets Zipinfo ont fourni la sortie suivante qui comprend le nom du fichier, son répertoire, la taille du fichier et la date et l'heure du fichier.

Exemple 3:
La classe Zipinfo propose de nombreuses méthodes. Ces nombreuses techniques sont utilisées pour modifier un fichier zip et peuvent être utilisées pour effectuer diverses opérations dessus. La méthode From File () est ce dont nous parlons ici.

à partir de zipfile import zipfile, zipinfo
zf = zipfile ("myfile.zip ", mode = 'r')
print ("Nom des fichiers existants dans le fichier zip:", Zf.namelist (), sep = "\ n")
imprimer ("\ nadding le fichier dans l'Archieve.")
zip_file = zipinfo.From_file (filename = "myfile.SMS")
print (type (zip_file))
print ("nom de fichier de l'objet Zipinfo:", zip_file.nom de fichier)

Dans le programme, à partir du module ZipFile, nous avons importé le zipfile et le zipinfo. Après cela, nous avons spécifié le nom de fichier en mode écriture à l'intérieur de la variable 'ZF'. Ensuite, nous obtenons la liste des fichiers placés dans le dossier de fichiers zip en invoquant la méthode namelist () dans la méthode d'impression. Nous avons créé une autre variable en tant que zip_file où nous avons utilisé l'objet Zipinfo de_file et avons reçu un nom de fichier. Ici, nous avons également obtenu le type de fichier zip. La dernière déclaration d'impression consiste à utiliser le nom de fichier d'instance du zipinfo.

La mise en œuvre du programme susmentionné donne la sortie répertoriée ci-dessous.

Conclusion:

La classe Zipinfo appartient au module ZipFile. Les informations sur un membre des archives sont représentées par cette classe. L'utilisateur peut obtenir des informations sur les composants d'un fichier zip en utilisant plusieurs techniques différentes incluses dans l'outil. Pour que vous compreniez mieux, nous avons inclus plusieurs échantillons.