Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Überblick über Python
3 Die Arbeit mit Python
4 Der interaktive Modus
5 Grundlegendes zu Python-Programmen
6 Kontrollstrukturen
7 Das Laufzeitmodell
8 Basisdatentypen
9 Benutzerinteraktion und Dateizugriff
10 Funktionen
11 Modularisierung
12 Objektorientierung
13 Weitere Spracheigenschaften
14 Mathematik
15 Strings
16 Datum und Zeit
17 Schnittstelle zum Betriebssystem
18 Parallele Programmierung
19 Datenspeicherung
20 Netzwerkkommunikation
21 Debugging
22 Distribution von Python-Projekten
23 Optimierung
24 Grafische Benutzeroberflächen
25 Python als serverseitige Programmiersprache im WWW mit Django
26 Anbindung an andere Programmiersprachen
27 Insiderwissen
28 Zukunft von Python
A Anhang
Stichwort

Download:
- ZIP, ca. 4,8 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Python von Peter Kaiser, Johannes Ernesti
Das umfassende Handbuch - Aktuell zu Python 2.5
Buch: Python

Python
gebunden, mit CD
819 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1110-9
Pfeil 19 Datenspeicherung
  Pfeil 19.1 Komprimierte Dateien lesen und schreiben – gzStandardbibliothekgzipip
  Pfeil 19.2 XML
    Pfeil 19.2.1 DOM – Document Object Model
    Pfeil 19.2.2 SAX – Simple API for XML
    Pfeil 19.2.3 ElementTree
  Pfeil 19.3 Datenbanken
    Pfeil 19.3.1 Pythons eingebaute Datenbank – sqlite3
    Pfeil 19.3.2 MySQLdb
  Pfeil 19.4 Serialisierung von Instanzen – pickle
  Pfeil 19.5 Das Tabellenformat CSV – csv
  Pfeil 19.6 Temporäre Dateien – tempfile

»Gauß wusste alles« – Ulrich Kaiser

19 Datenspeicherung

In den folgenden Abschnitten werden wir uns mit der permanenten Speicherung von Daten in den verschiedensten Formaten befassen. Das schließt unter anderem komprimierte Archive, XML-Dateien und Datenbanken mit ein.


Galileo Computing - Zum Seitenanfang

19.1 Komprimierte Dateien lesen und schreiben – gzip  topZur vorigen Überschrift

Mit dem Modul gzip der Standardbibliothek können Sie auf sehr einfache Weise Dateien verarbeiten, die mit der zlib-Bibliothek [Die zlib ist eine quelloffene Kompressionsbibliothek, die unter anderem vom Unix-Programm gzip verwendet wird. Nähere Informationen können Sie der Homepage unter http://www.zlib.net entnehmen. ] erstellt wurden. Außerdem können Sie damit selbst zlib-komprimierte Dateien erzeugen.

Das Modul stellt eine Funktion namens open bereit, die sich in ihrer Verwendung an die Built-in Function open anlehnt:

gzip.open(filename[, mode[, compresslevel])

Die Funktion gzip.open gibt ein Objekt zurück, das wie ein ganz normales Dateiobjekt verwendet werden kann.

Die Parameter filename und mode sind gleichbedeutend mit denen der Built-in Function open.

Mit dem letzten Parameter, compresslevel, kann angegeben werden, wie stark die Daten beim Schreiben in die Datei komprimiert werden sollen. Erlaubt sind Ganzzahlen von 0 bis 9, wobei 0 für die schlechteste und 9 für die beste Kompressionsstufe steht. Je höher die Kompressionsstufe ist, desto mehr Rechenzeit ist auch für das Komprimieren der Daten erforderlich. Wird der Parameter compress level nicht angegeben, verwendet gzip standadmäßig die beste Kompression.

>>> import gzip 
>>> f = gzip.open("testdatei.gz", "wb") 
>>> f.write("Hallo Welt") 
>>> f.close() 
>>> g = gzip.open("testdatei.gz") 
>>> g.read() 
'Hallo Welt'

In dem Beispiel schreiben wir einen einfachen String in die Datei testdatei.gz und lesen ihn anschließend wieder aus.

Andere Module für den Zugriff auf komprimierte Daten

Es existieren in der Standardbibliothek von Python noch weitere Module, die den Zugriff auf komprimierte Daten erlauben. Aus Platzgründen muss hier auf eine ausführliche Besprechung verzichtet werden.

Die folgende Tabelle gibt einen Überblick über alle Module, die komprimierte Daten verwalten können:


Tabelle 19.1  Übersicht über Pythons Kompressionsmodule
Modul Beschreibung

zlib

Eine Low-Level-Bibliothek, die direkten Zugriff auf die Funktionen der zlib ermöglicht. Mit ihr ist es unter anderem möglich, Strings zu komprimieren oder zu entpacken.

Das Modul gzip greift intern auf das Modul zlib zurück.

gzip

Beschreibung siehe oben.

bz2

Bietet komfortablen Zugriff auf Daten, die mit dem bzip2-Algorithmus komprimiert wurden, und ermöglicht es, neue komprimierte Dateien zu erzeugen.

Auch bz2 implementiert ein Dateiobjekt, das genauso zu handhaben ist wie die Objekte, die die Built-in Function open zurückgibt.

In der Regel ist die Kompression von bzip2 der von zlib in puncto Kompressionsrate überlegen.

zipfile

Ermöglicht den Zugriff auf ZIP-Archive, wie sie beispielsweise von dem bekannten Programm WinZip erstellt werden. Auch die Manipulation und Erzeugung neuer Archive ist möglich.

Das Modul zipfile ist sehr umfangreich und mächtig und in jedem Fall einen näheren Blick wert.

tarfile

Implementiert Funktionen und Klassen, um die in der Unix-Welt weit verbreiteten tar-Archive zu lesen oder zu schreiben.




Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Python






Python
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Linux






 Linux


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


Zum Katalog: Praxisbuch Web 2.0






 Praxisbuch Web 2.0


Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Praxisbuch Objektorientierung






 Praxisbuch Objektorientierung


Zum Katalog: Einstieg in SQL






 Einstieg in SQL


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für Fachinformatiker


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de