„Batteries included“#

In Python kann eine Bibliothek aus mehreren Komponenten bestehen, einschließlich eingebauter Datentypen und Konstanten, die ohne eine Importanweisung verwendet werden können, wie z.B. Zahlen und Listen, sowie einiger eingebauter Funktionen und Exceptions. Der größte Teil der Bibliothek ist eine umfangreiche Sammlung von Modulen. Wenn ihr Python installiert habt, stehen euch auch verschiedene Bibliotheken zur Verfügung zum

Managen von Datentypen#

Die Standardbibliothek enthält natürlich Unterstützung für die in Python eingebauten Typen. Darüber hinaus gibt es in der Standardbibliothek drei Kategorien, die sich mit verschiedenen Datentypen befassen: Module für Strings, Datentypen und Zahlen.

String-Module#

:

Modul

Beschreibung

string

vergleicht mit Konstanten wie string.digits oder string.whitespace

re

sucht und ersetzt Text mit regulären Ausdrücken

struct

interpretiert Bytes als gepackte Binärdaten

difflib

hilft beim Berechnen von Deltas, beim Auffinden von Unterschieden zwischen Zeichenketten oder Sequenzen und beim Erstellen von Patches und Diff-Dateien

textwrap

umbricht und füllt Text, formatiert Text mit Zeilenumbrüchen oder Leerzeichen

Module für Datentypen#

Modul

Beschreibung

datetime, calendar

Zeit- und Kalenderoperationen

collections

Container-Datentypen

enum

ermöglicht die Erstellung von Aufzählungsklassen, die symbolische Namen an konstante Werte binden

array

Effiziente Arrays von numerischen Werten

sched

Event-Scheduler

queue

Synchronisierte Queue-Klasse

copy

Flache und tiefe Kopieroperationen

pprint

druckt Python-Datenstrukturen „hübsch“ aus

typing

unterstützt die Kommentierung von Code mit Hinweisen auf die Typen von Objekten, insbesondere von Funktionsparametern und Rückgabewerten

Module für Zahlen#

:

Modul

Beschreibung

numbers

für numerische abstrakte Basisklassen

math, cmath

für mathematische Funktionen für reelle und komplexe Zahlen

decimal

für dezimale Festkomma- und Gleitkomma-Arithmetik

statistics

für Funktionen zur Berechnung von mathematischen Statistiken

fractions

für rationale Zahlen

random

zum Erzeugen von Pseudozufallszahlen und -auswahlen sowie zum Mischen von Sequenzen

itertools

für Funktionen, die Iteratoren für effiziente Schleifen erzeugen

functools

für Funktionen höherer Ordnung und Operationen auf aufrufbaren Objekten

operator

für Standardoperatoren als Funktionen

Ändern von Dateien#

:

Modul

Beschreibung

os.path

führt allgemeine Pfadnamenmanipulationen durch

pathlib

manipuliert Pfadnamen

fileinput

iteriert über mehrere Eingabedateien

filecmp

vergleicht Dateien und Verzeichnisse

tempfile

erzeugt temporäre Dateien und Verzeichnisse

glob, fnmatch

verwenden UNIX-ähnlicher Pfad- und Dateinamensmuster

linecache

greift zufällig auf Textzeilen zu

shutil

führt Dateioperationen auf höherer Ebene aus

mimetypes

Zuordnung von Dateinamen zu MIME-Typen

pickle, shelve

aktivieren von Python-Objektserialisierung und -persistenz, s.a. Das pickle-Modul

csv

liest und schreibt CSV-Dateien

json

JSON-Kodierer und -Dekodierer

sqlite3

bietet eine DB-API 2.0-Schnittstelle für SQLite-Datenbanken, s.a. Das sqlite-Modul

xml, xml.parsers.expat, xml.dom, xml.sax, xml.etree.ElementTree

liest und schreibt XML-Dateien, s.a. Das xml-Modul

html.parser, html.entities

Parsen von HTML und XHTML

configparser

liest und schreibt Windows-ähnliche Konfigurationsdateien (.ini)

base64, binhex, binascii, quopri, uu

Kodierung/Dekodierung von Dateien oder Streams

struct

liest und schreibt strukturierte Daten in und aus Dateien

zlib, gzip, bz2, zipfile, tarfile

für das Arbeiten mit Archivdateien und Komprimierungen

Siehe auch

Interagieren mit dem Betriebssystem#

Modul

Beschreibung

os

Verschiedene Betriebssystemschnittstellen

platform

Zugang zu den Identifizierungsdaten der zugrunde liegenden Plattform

time

Zeitzugriff und Konvertierungen

io

Werkzeuge für die Arbeit mit Datenströmen

select

Warten auf I/O-Abschluss

optparse

Parser für Befehlszeilenoptionen

curses

Terminal-Handling für Zeichenzellen-Displays

getpass

Portable Passworteingabe

ctypes

bietet C-kompatible Datentypen

threading

High-Level Threading-Interface

multiprocessing

Prozessbasierte Threading-Schnittstelle

subprocess

Verwaltung von Unterprozessen

Verwenden von Internet-Protokollen#

Modul

Beschreibung

socket, ssl

Low-Level-Netzwerkschnittstelle und SSL-Wrapper für Socket-Objekte

email

E-Mail- und MIME-Verarbeitungspaket

mailbox

Manipulation von Postfächern in verschiedenen Formaten

cgi, cgitb

Common Gateway Interface-Unterstützung

wsgiref

WSGI-Dienstprogramme und Referenzimplementierung

urllib.request, urllib.parse

Öffnen und Parsen von URLs

ftplib, poplib, imaplib, nntplib, smtplib, telnetlib

Clients für verschiedene Internetprotokolle

socketserver

Framework für Netzwerkserver

http.server

HTTP-Server

xmlrpc.client, xmlrpc.server

XML-RPC-Client und -Server

Entwickeln und Debuggen#

Modul

Beschreibung

pydoc

Dokumentationsgenerator und Online-Hilfesystem

doctest

Beispiele aus Python-Docstrings testen

unittest

Framework für Unittests, s.a. Unittest

test.support

Utility-Funktionen für Tests

trace

verfolgt die Ausführung von Python-Anweisungen

pdb

Python-Debugger

logging

Protokollierungsfunktion für Python

timeit

misst die Ausführungszeit von kleinen Codeschnipseln

profile, cProfile

Python-Profiler

sys

Systemspezifische Parameter und Funktionen

gc

Funktionen des Python-Garbage-Collectors

inspect

inspiziert Objekte live

atexit

Exit-Handler

__future__

Zukünftige Statement-Definitionen

imp

erlaubt den Zugriff auf die Import-Interna

zipimport

importiert von Modulen aus Zip-Archiven

modulefinder

findet Module, die von einem Skript verwendet werden