# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-05 16:53+0200\n"
"PO-Revision-Date: 2025-09-16 00:02+0000\n"
"Last-Translator: \n"
"Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../tutorial/stdlib2.rst:5
msgid "Brief tour of the standard library --- part II"
msgstr "Ein kurzer berblick ber die Standardbibliothek Teil II"
#: ../../tutorial/stdlib2.rst:7
msgid ""
"This second tour covers more advanced modules that support professional "
"programming needs. These modules rarely occur in small scripts."
msgstr ""
"Dieser zweite Durchgang behandelt fortgeschrittenere Module, die den "
"Anforderungen professioneller Programmierer gerecht werden. Diese Module "
"kommen in kleinen Skripten nur selten vor."
#: ../../tutorial/stdlib2.rst:14
msgid "Output formatting"
msgstr "Ausgabeformatierung"
#: ../../tutorial/stdlib2.rst:16
msgid ""
"The :mod:`reprlib` module provides a version of :func:`repr` customized for "
"abbreviated displays of large or deeply nested containers::"
msgstr ""
"Das Modul :mod:`reprlib` stellt eine fr die verkrzte Darstellung groer "
"oder tief verschachtelter Container angepasste Version von :func:`repr` "
"bereit::"
#: ../../tutorial/stdlib2.rst:19
msgid ""
">>> import reprlib\n"
">>> reprlib.repr(set('supercalifragilisticexpialidocious'))\n"
"\"{'a', 'c', 'd', 'e', 'f', 'g', ...}\""
msgstr ""
">>> import reprlib\n"
">>> reprlib.repr(set('supercalifragilisticexpialidocious'))\n"
"\"{'a', 'c', 'd', 'e', 'f', 'g', ...}\""
#: ../../tutorial/stdlib2.rst:23
msgid ""
"The :mod:`pprint` module offers more sophisticated control over printing "
"both built-in and user defined objects in a way that is readable by the "
"interpreter. When the result is longer than one line, the \"pretty printer\" "
"adds line breaks and indentation to more clearly reveal data structure::"
msgstr ""
"Das Modul :mod:`pprint` bietet eine ausgefeiltere Steuerung beim Ausgeben "
"sowohl integrierter als auch benutzerdefinierter Objekte in einer fr den "
"Interpreter lesbaren Form. Wenn das Ergebnis lnger als eine Zeile ist, fgt "
"der Pretty Printer Zeilenumbrche und Einrckungen hinzu, um die "
"Datenstruktur bersichtlicher darzustellen::"
#: ../../tutorial/stdlib2.rst:28
msgid ""
">>> import pprint\n"
">>> t = [[[['black', 'cyan'], 'white', ['green', 'red']], [['magenta',\n"
"... 'yellow'], 'blue']]]\n"
"...\n"
">>> pprint.pprint(t, width=30)\n"
"[[[['black', 'cyan'],\n"
" 'white',\n"
" ['green', 'red']],\n"
" [['magenta', 'yellow'],\n"
" 'blue']]]"
msgstr ""
">>> import pprint\n"
">>> t = [[[['black', 'cyan'], 'white', ['green', 'red']], [['magenta',\n"
"... 'yellow'], 'blue']]]\n"
"...\n"
">>> pprint.pprint(t, width=30)\n"
"[[[['black', 'cyan'],\n"
" 'white',\n"
" ['green', 'red']],\n"
" [['magenta', 'yellow'],\n"
" 'blue']]]"
#: ../../tutorial/stdlib2.rst:39
msgid ""
"The :mod:`textwrap` module formats paragraphs of text to fit a given screen "
"width::"
msgstr ""
"Das Modul :mod:`textwrap` passt Textabstze an eine bestimmte "
"Bildschirmbreite an::"
#: ../../tutorial/stdlib2.rst:42
msgid ""
">>> import textwrap\n"
">>> doc = \"\"\"The wrap() method is just like fill() except that it "
"returns\n"
"... a list of strings instead of one big string with newlines to separate\n"
"... the wrapped lines.\"\"\"\n"
"...\n"
">>> print(textwrap.fill(doc, width=40))\n"
"The wrap() method is just like fill()\n"
"except that it returns a list of strings\n"
"instead of one big string with newlines\n"
"to separate the wrapped lines."
msgstr ""
">>> import textwrap\n"
">>> doc = \"\"\"The wrap() method is just like fill() except that it "
"returns\n"
"... a list of strings instead of one big string with newlines to separate\n"
"... the wrapped lines.\"\"\"\n"
"...\n"
">>> print(textwrap.fill(doc, width=40))\n"
"The wrap() method is just like fill()\n"
"except that it returns a list of strings\n"
"instead of one big string with newlines\n"
"to separate the wrapped lines."
#: ../../tutorial/stdlib2.rst:53
msgid ""
"The :mod:`locale` module accesses a database of culture specific data "
"formats. The grouping attribute of locale's format function provides a "
"direct way of formatting numbers with group separators::"
msgstr ""
"Das Modul :mod:`locale` greift auf eine Datenbank mit kulturspezifischen "
"Datenformaten zu. Das Gruppierungsattribut der Formatierungsfunktion von "
"\"locale\" bietet eine direkte Mglichkeit, Zahlen mit Gruppentrennzeichen "
"zu formatieren::"
#: ../../tutorial/stdlib2.rst:57
msgid ""
">>> import locale\n"
">>> locale.setlocale(locale.LC_ALL, 'English_United States.1252')\n"
"'English_United States.1252'\n"
">>> conv = locale.localeconv() # get a mapping of conventions\n"
">>> x = 1234567.8\n"
">>> locale.format_string(\"%d\", x, grouping=True)\n"
"'1,234,567'\n"
">>> locale.format_string(\"%s%.*f\", (conv['currency_symbol'],\n"
"... conv['frac_digits'], x), grouping=True)\n"
"'$1,234,567.80'"
msgstr ""
">>> import locale\n"
">>> locale.setlocale(locale.LC_ALL, 'English_United States.1252')\n"
"'English_United States.1252'\n"
">>> conv = locale.localeconv() # get a mapping of conventions\n"
">>> x = 1234567.8\n"
">>> locale.format_string(\"%d\", x, grouping=True)\n"
"'1,234,567'\n"
">>> locale.format_string(\"%s%.*f\", (conv['currency_symbol'],\n"
"... conv['frac_digits'], x), grouping=True)\n"
"'$1,234,567.80'"
#: ../../tutorial/stdlib2.rst:72
msgid "Templating"
msgstr "Vorlagen"
#: ../../tutorial/stdlib2.rst:74
msgid ""
"The :mod:`string` module includes a versatile :class:`~string.Template` "
"class with a simplified syntax suitable for editing by end-users. This "
"allows users to customize their applications without having to alter the "
"application."
msgstr ""
"Das Modul :mod:`string` enthlt eine vielseitige Klasse :class:`~string."
"Template` mit einer vereinfachten Syntax, die sich fr die Bearbeitung durch "
"Endbenutzer eignet. Dadurch knnen Benutzer ihre Anwendungen anpassen, ohne "
"den Anwendungscode ndern zu mssen."
#: ../../tutorial/stdlib2.rst:78
msgid ""
"The format uses placeholder names formed by ``$`` with valid Python "
"identifiers (alphanumeric characters and underscores). Surrounding the "
"placeholder with braces allows it to be followed by more alphanumeric "
"letters with no intervening spaces. Writing ``$$`` creates a single escaped "
"``$``::"
msgstr ""
"Das Format verwendet Platzhalternamen, die aus ``$`` in Kombination mit "
"gltigen Python-Bezeichnern (alphanumerische Zeichen und Unterstriche) "
"gebildet werden. Durch die Einfassung des Platzhalters in geschweifte "
"Klammern knnen weitere alphanumerische Zeichen ohne dazwischenliegende "
"Leerzeichen folgen. Durch die Schreibweise ``$$`` wird ein einzelner Escape-"
"Platzhalter ``$`` erzeugt ::"
#: ../../tutorial/stdlib2.rst:83
msgid ""
">>> from string import Template\n"
">>> t = Template('${village}folk send $$10 to $cause.')\n"
">>> t.substitute(village='Nottingham', cause='the ditch fund')\n"
"'Nottinghamfolk send $10 to the ditch fund.'"
msgstr ""
">>> from string import Template\n"
">>> t = Template('${village}folk send $$10 to $cause.')\n"
">>> t.substitute(village='Nottingham', cause='the ditch fund')\n"
"'Nottinghamfolk send $10 to the ditch fund.'"
#: ../../tutorial/stdlib2.rst:88
msgid ""
"The :meth:`~string.Template.substitute` method raises a :exc:`KeyError` when "
"a placeholder is not supplied in a dictionary or a keyword argument. For "
"mail-merge style applications, user supplied data may be incomplete and the :"
"meth:`~string.Template.safe_substitute` method may be more appropriate --- "
"it will leave placeholders unchanged if data is missing::"
msgstr ""
"Die Methode :meth:`~string.Template.substitute` lst einen :exc:`KeyError` "
"aus, wenn in einem Wrterbuch oder einem Schlsselwortargument kein "
"Platzhalter angegeben wurde. Bei Anwendungen im Stil einer "
"Seriendruckfunktion knnen die vom Benutzer bereitgestellten Daten "
"unvollstndig sein, sodass die Methode :meth:`~string.Template."
"safe_substitute` mglicherweise besser geeignet ist sie lsst Platzhalter "
"unverndert, wenn Daten fehlen::"
#: ../../tutorial/stdlib2.rst:94
msgid ""
">>> t = Template('Return the $item to $owner.')\n"
">>> d = dict(item='unladen swallow')\n"
">>> t.substitute(d)\n"
"Traceback (most recent call last):\n"
" ...\n"
"KeyError: 'owner'\n"
">>> t.safe_substitute(d)\n"
"'Return the unladen swallow to $owner.'"
msgstr ""
">>> t = Template('Return the $item to $owner.')\n"
">>> d = dict(item='unladen swallow')\n"
">>> t.substitute(d)\n"
"Traceback (most recent call last):\n"
" ...\n"
"KeyError: 'owner'\n"
">>> t.safe_substitute(d)\n"
"'Return the unladen swallow to $owner.'"
#: ../../tutorial/stdlib2.rst:103
msgid ""
"Template subclasses can specify a custom delimiter. For example, a batch "
"renaming utility for a photo browser may elect to use percent signs for "
"placeholders such as the current date, image sequence number, or file "
"format::"
msgstr ""
"Unterklassen von Vorlagen knnen ein benutzerdefiniertes Trennzeichen "
"festlegen. Beispielsweise knnte ein Dienstprogramm zur Stapelumbenennung "
"fr einen Foto-Browser Prozentzeichen fr Platzhalter wie das aktuelle "
"Datum, die Bildnummer oder das Dateiformat verwenden::"
#: ../../tutorial/stdlib2.rst:107
msgid ""
">>> import time, os.path\n"
">>> photofiles = ['img_1074.jpg', 'img_1076.jpg', 'img_1077.jpg']\n"
">>> class BatchRename(Template):\n"
"... delimiter = '%'\n"
"...\n"
">>> fmt = input('Enter rename style (%d-date %n-seqnum %f-format): ')\n"
"Enter rename style (%d-date %n-seqnum %f-format): Ashley_%n%f\n"
"\n"
">>> t = BatchRename(fmt)\n"
">>> date = time.strftime('%d%b%y')\n"
">>> for i, filename in enumerate(photofiles):\n"
"... base, ext = os.path.splitext(filename)\n"
"... newname = t.substitute(d=date, n=i, f=ext)\n"
"... print('{0} --> {1}'.format(filename, newname))\n"
"\n"
"img_1074.jpg --> Ashley_0.jpg\n"
"img_1076.jpg --> Ashley_1.jpg\n"
"img_1077.jpg --> Ashley_2.jpg"
msgstr ""
">>> import time, os.path\n"
">>> photofiles = ['img_1074.jpg', 'img_1076.jpg', 'img_1077.jpg']\n"
">>> class BatchRename(Template):\n"
"... delimiter = '%'\n"
"...\n"
">>> fmt = input('Enter rename style (%d-date %n-seqnum %f-format): ')\n"
"Enter rename style (%d-date %n-seqnum %f-format): Ashley_%n%f\n"
"\n"
">>> t = BatchRename(fmt)\n"
">>> date = time.strftime('%d%b%y')\n"
">>> for i, filename in enumerate(photofiles):\n"
"... base, ext = os.path.splitext(filename)\n"
"... newname = t.substitute(d=date, n=i, f=ext)\n"
"... print('{0} --> {1}'.format(filename, newname))\n"
"\n"
"img_1074.jpg --> Ashley_0.jpg\n"
"img_1076.jpg --> Ashley_1.jpg\n"
"img_1077.jpg --> Ashley_2.jpg"
#: ../../tutorial/stdlib2.rst:126
msgid ""
"Another application for templating is separating program logic from the "
"details of multiple output formats. This makes it possible to substitute "
"custom templates for XML files, plain text reports, and HTML web reports."
msgstr ""
"Eine weitere Anwendungsmglichkeit fr Templates ist die Trennung der "
"Programmlogik von den Details verschiedener Ausgabeformate. Dadurch lassen "
"sich XML-Dateien, Berichte im Klartext und HTML-Webberichte durch "
"benutzerdefinierte Templates ersetzen."
#: ../../tutorial/stdlib2.rst:134
msgid "Working with binary data record layouts"
msgstr "Arbeiten mit Layouts fr binre Datenstze"
#: ../../tutorial/stdlib2.rst:136
msgid ""
"The :mod:`struct` module provides :func:`~struct.pack` and :func:`~struct."
"unpack` functions for working with variable length binary record formats. "
"The following example shows how to loop through header information in a ZIP "
"file without using the :mod:`zipfile` module. Pack codes ``\"H\"`` and "
"``\"I\"`` represent two and four byte unsigned numbers respectively. The "
"``\"