| PYTHON(1) | General Commands Manual | PYTHON(1) |
python - eine interpretierte, interaktive, objekt-orientierte Programmiersprache
python [ -B ] [ -b ] [ -d ] [
-E ] [ -h ] [ -i ] [ -I ]
[ -m Modulename ] [ -q ] [ -R ] [ -O ] [
-OO ] [ -P ] [ -s ] [ -S ] [ -u ]
[ -v ] [ -V ] [ -W Argument ] [ -x ] [
-X Option ] [ -? ]
[ --check-hash-based-pycs default | always |
never ]
[ --help ] [ --help-env ] [ --help-xoptions ] [
--help-all ]
[ -c Befehl | Skript | - ] [ Argumente ]
Python ist eine interpretierte, interaktive und objekt-orientierte Programmiersprache, die eine bemerkenswerte Leistungsfähigkeit mit sehr klarer Syntax verbindet. Für eine Einführung zur Programmierung in Python lesen Sie das Python-Tutorial. Die Referenz der Python-Bibliothek (Python Library Reference) dokumentiert integrierte Typen und Standard-Typen, Konstanten, Funktionen und Module. Abschliessend beschreibt das Python-Referenzhandbuch (Python Reference Manual) Syntax und Semantik vom Kern der Sprache (vielleicht zu) detailliert. (Diese Dokumente können über INTERNETRESOURCEN am Ende dieser Seite gefunden werden; sie könnten auch auf Ihrem System installiert sein.)
Die Leistungsfähigkeit von Python kann mit eigenen C- oder C++-Modulen erweitert werden. Auf den meisten Systemen können solche Module dynamisch geladen werden. Python ist auch als eine Sprache zur Erweiterung bestehender Anwendungen anpassbar. Hinweise sind in der internen Dokumentation zu finden.
Die Dokumentation zu installierten Python-Modulen und -Paketen kann mit dem Programm pydoc angezeigt werden.
Die einfachsten Einstellungen wenden jeweils eine bestimmte Aktion an, unabhängig von allen Warnungen, die ein Prozess ausgibt (sogar von denen, die sonst standardmäßig ignoriert werden würden):
-Wdefault # Einmal pro aufrufender Stelle warnen
-Werror # Umwandlung zu Ausnahmefehlern
-Walways # Immer warnen
-Wall # Identisch zu -Walways
-Wmodule # Einmal pro aufrufendem Modul warnen
-Wonce # Einmal pro Python-Prozess warnen
-Wignore # Niemals warnen
Die Aktionsnamen können wie gewünscht abgekürzt werden und der Interpreter wird sie zum passenden Namen auflösen. Zum Beispiel ist -Wi das gleiche wie -Wignore.
Die vollständige Form des Arguments lautet: Aktion:Meldung:Kategorie:Modul:Zeilennummer
Leere Felder passen auf alle Werte; leere Felder am Ende können weggelassen werden. Zum Beispiel ignoriert -W ignore::DeprecationWarning alle Warnungen vom Typ DeprecationWarning.
Das Feld Aktion wirkt wie oben erklärt, betrifft aber nur Warnungen, die auf die restlichen Felder passen.
Das Feld Meldung muss auf die gesamte ausgegebene Warnmeldung passen; der Vergleich ignoriert Groß- und Kleinschreibung.
Das Feld Kategorie passt auf die Kategorie der Warnung (z.B.: »DeprecationWarning«). Dies muss ein Klassenname sein; es wird verglichen, ob die Kategorie der aktuellen Warnmeldung eine Unterklasse der angegebenen Kategorie der Warnung ist.
Das Feld Modul passt auf den (vollständigen) Modulnamen; dieser Vergleich berücksichtigt die Groß- und Kleinschreibung.
Das Feld Zeilennummer passt auf die Zeilennummer, wobei die Null auf alle Zeilennummern passt und damit äquivalent zu einer weggelassenen Zeilennummer ist.
Es können mehrere Optionen -W angegeben werden; wenn eine Warnung auf mehr als eine Option passt, dann wird die Aktion zur letzten passenden Option ausgeführt. Ungültige Optionen -W werden ignoriert (jedoch wird bei der ersten ausgegebenen Warnmeldung eine Meldung zu ungültigen Optionen ausgegeben).
Warnungen können auch mittels der Umgebungsvariablen PYTHONWARNINGS und aus einem Python-Programm heraus mit dem Warnings-Modul gesteuert werden. Zum Beispiel kann die Funktion warnings.filterwarnings() verwendet werden, um einen regulären Ausdruck auf die Warnmeldung anzuwenden.
-X cpu_count=N: setzt den Rückgabewert von
os.cpu_count() außer Kraft;
-X cpu_count=default bricht die Außerkraftsetzung ab; auch
PYTHON_CPU_COUNT
-X dev: aktiviert den
»Entwicklungsmodus« von CPython, der zusätzliche
Laufzeit-
Diagnosen bereitstellt, die für eine standardmäßige
Aktivierung zu aufwendig
sind. Wenn der Code in Ordnung ist, werden nicht mehr Meldungen
ausgegeben als
in der Voreinstellung: Neue Warnungen werden nur ausgegeben, wenn ein
Problem
erkannt wird. Effekt des »Entwicklungsmodus«:
* Hinzufügen eines standardmäßigen Warnungsfilters,
wie -W default
* Installiert zur Fehlersuche Hooks auf Speicherzuweiser: siehe
die C-Funktion PyMem_SetupDebugHooks()
* Aktiviert das Modul zur Fehlerbehandlung, um bei einem Absturz
Python-Rückverfolgungsprotokolle zu schreiben
* Aktiviert den Modus zur Fehlersuche des Asyncio-Moduls
* Setzt das dev_mode Attribut vom sys.flags auf »True«
* io.IOBase Destruktor zeichnet close()-Ausnahmefehler auf
-X importtime: zeigt, wie lange jeder Import dauert. Angezeigt
werden
Modulname, Gesamtzeit (inklusive verschachtelter Importe) und Einzelzeit
(ohne verschachtelter Importe). Beachten Sie, dass dessen Ausgabe
in Applikationen mit mehreren Threads zerstückelt sein kann. Ein
typischer Aufruf ist
python3 -X importtime -c 'import asyncio'
-X faulthandler: aktiviert Fehlerbehandlung
-X frozen_modules=[on|off]: ob eingefrorene Module
(als statisches Programm
inklusive Interpreter, siehe https://wiki.python.org/moin/Freeze)
verwendet
werden können oder nicht. Die Voreinstellung ist
»on« (oder »off«, wenn Sie
einen lokalen Bau laufen lassen).
-X gil=[0|1]: aktiviert (1) oder deaktiviert (0) die
GIL; auch PYTHON_GIL
Nur verfügbar in Bauten, die mit --disable-gil konfiguriert
worden sind.
-X int_max_str_digits=Zahl: begrenzt die
Größe bei Umwandlungen von int<->str.
Das ist hilfreich, um Diensteverweigerungsangriffe bei der Verarbeitung
nicht
vertrauenswürdiger Daten zu vermeiden. Die Voreinstellung ist
sys.int_info.default_max_str_digits. 0 deaktiviert dies.
-X no_debug_ranges: deaktiviert das Hinzufügen von Tabellen
zur Zuordnung von
zusätzlichen Positionsangaben (letzte Zeile, Start und Ende vom
Spaltenversatz)
zu jedem Befehl in Codeobjekten. Das ist hilfreich, wenn kleinere
Codeobjekte
und pyc-Dateien gewünscht werden oder zur Unterdrückung
zusätzlicher visueller
Positionsindikatoren beim Anzeigen von Rückverfolgungen durch den
Interpreter.
-X perf: unterstützt den Linux-Profiler
»perf«; auch PYTHONPERFSUPPORT=1
-X perf_jit: unterstützt den Linux-Profiler
»perf« mit DWARF-Unterstützung;
auch PYTHON_PERF_JIT_SUPPORT=1
-X presite=MOD: importiert dieses Modul vor
»site«; auch PYTHON_PRESITE
Dies funktioniert nur in Fehlersuch-Bauten.
-X pycache_prefix=PFAD: ermöglicht das Schreiben von
.pyc-Dateien in einen parallelen
Baum, dessen Wurzel im angegebenen Verzeichnis anstatt in dem Baum des
Codes liegt.
-X showrefcount: gibt nach jedem Befehl im interaktiven
Interpreter oder
bei Beendigung des Programms den gesamten Referenzzähler sowie
die Anzahl der verwendeten Speicherblöcke aus. Das funktioniert
nur mit Programmen, die mit aktivierter Fehlersuchoption gebaut
wurden
-X tracemalloc: beginnt die Verfolgung von Speicherzuweisungen von
Python
mit dem Tracemalloc-Modul. Standardmäßig wird nur der
allerneuste Frame
in der Rückverfolgung abgespeichert. Verwenden Sie -X
tracemalloc=NFRAME,
um die Rückverfolgung mit einer Begrenzung auf NFRAME
Frames zu starten
-X utf8: aktiviert den UTF-8-Modus für Schnittstellen zum
Betriebssystem. Der
voreingestellte »locale-aware«-Modus wird
überschrieben. -X utf8=0 deaktiviert
den UTF-8 Modus explizit (auch, wenn es auf andere Weise automatisch
aktiviert
worden wäre). Siehe PYTHONUTF8 für weitere
Details
-X warn_default_encoding: aktiviert die optionale EncodingWarning
für 'encoding=None'
Das Interpreter-Schnittstelle ähnelt dem der UNIX-Shell: wenn sie angeschlossen an einem TTY-Gerät über die Standardeingabe aufgerufen wird, fragt sie nach Befehlen, bis sie ein EOF liest; wenn sie mit einem Dateinamen als Argument oder mit einer Datei als Standardeingabe aufgerufen wird, liest sie ein Skript aus dieser Datei und führt sie aus; wenn sie mit -c Befehl aufgerufen wird, führt sie die als Befehl gegebenen Python-Anweisungen aus. Hier kann Befehl mehrere durch Zeilenumbrüche getrennte Anweisungen beinhalten. In Python-Anweisungen sind führende Leerzeichen relevant! Im nicht interaktiven Modus wird die gesamte Eingabe ausgewertet, bevor sie ausgeführt wird.
Der Skriptname und zusätzliche Argumente werden, falls verfügbar, danach dem Skript in der Python-Variablen sys.argv übergeben, die eine Liste von Zeichenketten ist (Sie müssen erst import sys aufrufen, um darauf zugreifen zu können). Wenn kein Skriptname angegeben ist, ist sys.argv[0] eine leere Zeichenkette; wenn -c verwendet wird, enthält sys.argv[0] die Zeichenkette '-c'. Beachten Sie, dass Optionen, die der Python-Interpreter selbst interpretiert, nicht in sys.argv erscheinen.
Die primäre Eingabeaufforderung im interaktiven Modus ist »>>>«; die sekundäre (welche erscheint, wenn ein Befehl nicht vollständig ist) ist »...«. Diese Eingabeaufforderungen können mittels Zuweisungen zu sys.ps1 oder sys.ps2 geändert werden. Der Interpreter beendet sich, wenn er in der Eingabeaufforderung ein EOF liest. Wenn ein unbehandelter Ausnahmefehler auftritt, wird ein Verlaufsbericht ausgegeben und die Kontrolle wird an die primäre Eingabeaufforderung zurückgegeben; im nicht interaktiven Modus beendet sich der Interpreter nach der Ausgabe des Verlaufsberichts. Das Interrupt-Signal löst eine KeyboardInterrupt-Ausnahme aus; andere UNIX-Signale werden nicht abgefangen (abgesehen davon, dass SIGPIPE manchmal zu Gunsten eines IOError-Ausnahmefehlers ignoriert wird). Fehlermeldungen werden in die Standardfehlerausgabe geschrieben.
Sie sind unterliegen Unterschieden und sind abhängig von den lokalen Konventionen der Installationen; ${prefix} und ${exec_prefix} sind installationsabhängig und sollten wie für GNU-Software interpretiert werden; sie können identisch sein. Unter Debian-GNU/{Hurd, Linux} ist die Voreinstellung für beide /usr.
${prefix}/lib/python<Version>
${exec_prefix}/lib/python<Version>
${prefix}/include/python<Version>
${exec_prefix}/include/python<Version>
Wenn PYTHONHASHSEED auf einen ganzzahligen Wert gesetzt ist, wird dieser als fester Initialisierungswert zur Erzeugung vom hash() der Typen, die durch die Hash-Verwürfelung abgedeckt werden. Sein Zweck besteht darin, reproduzierbare Hashes zu ermöglichen, wie zum Beispiel für Selbsttest des Interpreters, oder um Cluster von Python-Prozessen zu ermöglichen, die selben Hash-Werte zu verwenden.
Die Ganzzahl muss eine Dezimalzahl im Intervall [0, 4294967295] sein. Die Angabe des Wertes 0 deaktiviert die Hash-Verwürfelung.
Das Setzen dieser Variablen hat nur eine Wirkung in einem Python mit aktivierter Fehlersuche, also nur, wenn Python mit der Bauoption --with-pydebug konfiguriert worden ist.
Die Python Software Foundation: https://www.python.org/psf/
Haupt-Website: https://www.python.org/
Dokumentation: https://docs.python.org/
Entwicklerressourcen: https://devguide.python.org/
Downloads: https://www.python.org/downloads/
Modul-Depot: https://pypi.org/
Newsgroups: comp.lang.python, comp.lang.python.announce
Python wird unter einer Open-Source-Lizenz verbreitet. Siehe die Datei »LICENSE« in der Python-Quell-Distribution zu Informationen über Lizenzbedingungen zum Zugang zu Python und dessen anderweitiger Verwendung und zu einem HAFTUNGSAUSSCHLUSS.
Die deutsche Übersetzung dieser Handbuchseite wurde von Christoph Brinkhaus <c.brinkhaus@t-online.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.