Dieser Artikel stellt hauptsächlich die Methode zum Komprimieren und Dekomprimieren von ZIP-Dateien in Python vor. Er analysiert die gängigen Betriebstechniken zum Komprimieren und Dekomprimieren von ZIP-Dateien in Python anhand konkreter Beispiele
Das Beispiel in diesem Artikel beschreibt, wie ZIP-Dateien in Python komprimiert und dekomprimiert werden. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Manchmal müssen wir ZIP-Dateien in Python verwenden, und in Version 1.6 stellt Python bereits das Zipfile-Modul zur Verfügung, um solche Vorgänge auszuführen. Das Zipfile-Modul in Python kann jedoch Situationen mit mehreren Volumes nicht verarbeiten. Diese Situation kommt jedoch selten vor und reicht daher für den normalen Gebrauch aus. Im Folgenden habe ich nur einige grundlegende Zipfile-Vorgänge aufgezeichnet, die für die meisten Situationen ausreichen.
Mit dem Zipfile-Modul können Sie eine Zip-Datei öffnen oder schreiben. Beispiel:
import zipfile z = zipfile.ZipFile('zipfilename', mode='r')
Dies öffnet eine ZIP-Datei. Wenn der Modus „w“ oder „a“ ist, bedeutet dies, dass eine ZIP-Datei geschrieben werden soll. Beim Schreiben können Sie auch dem dritten Parameter folgen:
compression=zipfile.ZIP_DEFLATED oder compress=zipfile.ZIP_STORED ZIP_DEFLATED ist das Komprimierungsflag. Wenn Sie es verwenden, müssen Sie das zlib-Modul kompilieren. Letzteres ist nur mit Reißverschluss verpackt und nicht komprimiert.
Nach dem Öffnen der ZIP-Datei können Sie den Inhalt der ZIP-Datei lesen oder den Inhalt je nach Bedarf in der ZIP-Datei speichern.
Lesen Sie den Inhalt der Zip-Datei
Es ist sehr einfach. Das Zipfile-Objekt bietet eine read(name)-Methode. Name ist ein Dateieintrag in der ZIP-Datei. Nach Abschluss der Ausführung wird der gelesene Inhalt in der gewünschten Datei zurückgegeben.
Zip-Datei schreiben
Es gibt zwei Möglichkeiten: Eine besteht darin, direkt in eine vorhandene Datei zu schreiben, die andere darin, eine Zeichenfolge zu schreiben.
Beim ersten Schreiben (Dateiname, Arcname, Komprimierungstyp) mit dem Zipfile-Objekt können die letzten beiden Parameter ignoriert werden. Der erste Parameter ist der Dateiname und der zweite Parameter ist der Name in der ZIP-Datei. Wenn er nicht angegeben wird, wird derselbe Name wie der Dateiname verwendet. compress_type ist ein Komprimierungsflag, das die Parameter beim Erstellen einer ZIP-Datei überschreibt. Die zweite Methode besteht darin, writestr(zinfo_or_arcname, bytes) des Zipfile-Objekts zu verwenden. Der erste Parameter ist das Zipinfo-Objekt oder der Komprimierungsname, der in die komprimierte Datei geschrieben wird, und der zweite Parameter ist eine Zeichenfolge. Verwenden Sie diese Methode, um den Inhalt der Datei dynamisch zu organisieren.
Es ist zu beachten, dass beim Lesen diese Vorgänge, z. B. das Erstellen eines Verzeichnisses, von Ihnen selbst ausgeführt werden müssen, da nur der Inhalt gelesen werden kann , eine Datei erstellen und schreiben . Beim Schreiben kann die Verzeichnisstruktur in der ZIP-Datei nach Bedarf dynamisch organisiert werden, sodass die ZIP-Datei generiert werden kann, ohne der ursprünglichen Verzeichnisstruktur zu folgen.
Aus Gründen der Benutzerfreundlichkeit habe ich eine eigene ZFile-Klasse erstellt, hauptsächlich um die Komprimierungsfunktion im Rechtsklick-Menü von winrar zu implementieren – das heißt, um eine ZIP-Datei in ein bestimmtes Verzeichnis zu komprimieren und erstellen Sie automatisch den entsprechenden Unterordner. Ein weiterer Vorteil besteht in der Bequemlichkeit, ZIP-Dateien zu generieren. Der Quellcode der Klasse lautet:
# coding:cp936 # Zfile.py # xxteach.com import zipfile import os.path import os class ZFile(object): def __init__(self, filename, mode='r', basedir=''): self.filename = filename self.mode = mode if self.mode in ('w', 'a'): self.zfile = zipfile.ZipFile(filename, self.mode, compression=zipfile.ZIP_DEFLATED) else: self.zfile = zipfile.ZipFile(filename, self.mode) self.basedir = basedir if not self.basedir: self.basedir = os.path.dirname(filename) def addfile(self, path, arcname=None): path = path.replace('//', '/') if not arcname: if path.startswith(self.basedir): arcname = path[len(self.basedir):] else: arcname = '' self.zfile.write(path, arcname) def addfiles(self, paths): for path in paths: if isinstance(path, tuple): self.addfile(*path) else: self.addfile(path) def close(self): self.zfile.close() def extract_to(self, path): for p in self.zfile.namelist(): self.extract(p, path) def extract(self, filename, path): if not filename.endswith('/'): f = os.path.join(path, filename) dir = os.path.dirname(f) if not os.path.exists(dir): os.makedirs(dir) file(f, 'wb').write(self.zfile.read(filename)) def create(zfile, files): z = ZFile(zfile, 'w') z.addfiles(files) z.close() def extract(zfile, path): z = ZFile(zfile) z.extract_to(path) z.close()
Das obige ist der detaillierte Inhalt vonSo komprimieren und dekomprimieren Sie ZIP-Dateien in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Python und C haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1) Python ist aufgrund seiner prägnanten Syntax und der dynamischen Typisierung für die schnelle Entwicklung und Datenverarbeitung geeignet. 2) C ist aufgrund seiner statischen Tipp- und manuellen Speicherverwaltung für hohe Leistung und Systemprogrammierung geeignet.

Die Auswahl von Python oder C hängt von den Projektanforderungen ab: 1) Wenn Sie eine schnelle Entwicklung, Datenverarbeitung und Prototypdesign benötigen, wählen Sie Python. 2) Wenn Sie eine hohe Leistung, eine geringe Latenz und eine schließende Hardwarekontrolle benötigen, wählen Sie C.

Indem Sie täglich 2 Stunden Python -Lernen investieren, können Sie Ihre Programmierkenntnisse effektiv verbessern. 1. Lernen Sie neues Wissen: Lesen Sie Dokumente oder sehen Sie sich Tutorials an. 2. Üben: Schreiben Sie Code und vollständige Übungen. 3. Überprüfung: Konsolidieren Sie den Inhalt, den Sie gelernt haben. 4. Projektpraxis: Wenden Sie an, was Sie in den tatsächlichen Projekten gelernt haben. Ein solcher strukturierter Lernplan kann Ihnen helfen, Python systematisch zu meistern und Karriereziele zu erreichen.

Zu den Methoden zum effizienten Erlernen von Python innerhalb von zwei Stunden gehören: 1. Überprüfen Sie das Grundkenntnis und stellen Sie sicher, dass Sie mit der Python -Installation und der grundlegenden Syntax vertraut sind. 2. Verstehen Sie die Kernkonzepte von Python wie Variablen, Listen, Funktionen usw.; 3.. Master Basic und Advanced Nutzung unter Verwendung von Beispielen; 4.. Lernen Sie gemeinsame Fehler und Debugging -Techniken; 5. Wenden Sie Leistungsoptimierung und Best Practices an, z. B. die Verwendung von Listenfunktionen und dem Befolgen des Pep8 -Stilhandbuchs.

Python ist für Anfänger und Datenwissenschaften geeignet und C für Systemprogramme und Spieleentwicklung geeignet. 1. Python ist einfach und einfach zu bedienen, geeignet für Datenwissenschaft und Webentwicklung. 2.C bietet eine hohe Leistung und Kontrolle, geeignet für Spieleentwicklung und Systemprogrammierung. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Python eignet sich besser für Datenwissenschaft und schnelle Entwicklung, während C besser für Hochleistungen und Systemprogramme geeignet ist. 1. Python -Syntax ist prägnant und leicht zu lernen, geeignet für die Datenverarbeitung und wissenschaftliches Computer. 2.C hat eine komplexe Syntax, aber eine hervorragende Leistung und wird häufig in der Spieleentwicklung und der Systemprogrammierung verwendet.

Es ist machbar, zwei Stunden am Tag zu investieren, um Python zu lernen. 1. Lernen Sie neues Wissen: Lernen Sie in einer Stunde neue Konzepte wie Listen und Wörterbücher. 2. Praxis und Übung: Verwenden Sie eine Stunde, um Programmierübungen durchzuführen, z. B. kleine Programme. Durch vernünftige Planung und Ausdauer können Sie die Kernkonzepte von Python in kurzer Zeit beherrschen.

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.