Python Open Stdout As Binär Optionen
Python-Dateien IO Dieses Kapitel behandelt alle grundlegenden IO-Funktionen, die in Python verfügbar sind. Weitere Funktionen finden Sie in der Standard-Python-Dokumentation. Drucken auf dem Bildschirm Der einfachste Weg, um Ausgabe zu produzieren, verwendet die Druckanweisung, wo Sie null oder mehr Ausdrücke durch Kommas getrennt haben können. Diese Funktion konvertiert die Ausdrücke, die Sie in einen String übergeben und schreibt das Ergebnis in die Standardausgabe wie folgt minus Dies erzeugt das folgende Ergebnis auf Ihrem Standardbildschirm Minus Reading Keyboard Input Python bietet zwei integrierte Funktionen, um eine Textzeile aus der Standard-Eingabe zu lesen, Die standardmäßig von der Tastatur kommt. Diese Funktionen sind minus Die rawinput-Funktion Die Funktion rawinput (prompt) liest eine Zeile von der Standard-Eingabe und gibt sie als String zurück (entfernt das nachlaufende Zeilenumbruch). Dies fordert Sie auf, eine beliebige Zeichenfolge einzugeben, und sie würde denselben String auf dem Bildschirm anzeigen. Wenn ich hallo Python eingegeben habe, ist seine Ausgabe wie folgt minus Die Eingabe Funktion Die Eingabeaufforderung (Aufforderung) entspricht dem raw-Eingang, mit der Ausnahme, dass sie die Eingabe ein gültiger Python-Ausdruck annimmt und das ausgewertete Ergebnis an Sie zurückgibt. Dies würde das folgende Ergebnis gegen die eingegebene Eingabe erzeugen Minus Öffnen und Schließen von Dateien Bisher haben Sie gelesen und schreiben an die Standard-Eingabe und Ausgabe. Nun werden wir sehen, wie man aktuelle Dateien verwendet. Python bietet grundlegende Funktionen und Methoden, die erforderlich sind, um Dateien standardmäßig zu manipulieren. Sie können die meisten der Datei Manipulation mit einem Datei-Objekt zu tun. Die offene Funktion Bevor du eine Datei lesen oder schreiben kannst, musst du sie mit der integrierten open () - Funktion von Pythons öffnen. Diese Funktion erzeugt ein Dateiobjekt, das verwendet wird, um andere mit ihm verbundene Unterstützungsmethoden aufzurufen. Hier sind Parameterdetails: Dateiname: Das Dateiname-Argument ist ein Zeichenfolgenwert, der den Namen der Datei enthält, auf die Sie zugreifen möchten Accessmode: Der accessmode bestimmt den Modus, in dem die Datei geöffnet werden muss, d. h. lesen, schreiben, anhängen usw. Eine vollständige Liste der möglichen Werte ist unten in der Tabelle angegeben. Dies ist ein optionaler Parameter und der Standard-Dateizugriffsmodus wird gelesen (r). Pufferung: Wird der Pufferwert auf 0 gesetzt, erfolgt keine Pufferung. Wenn der Pufferwert 1 ist, wird die Zeilenpufferung beim Zugriff auf eine Datei durchgeführt. Wenn Sie den Pufferwert als Ganzzahl größer als 1 angeben, wird die Pufferaktion mit der angegebenen Puffergröße durchgeführt. Wenn negativ, ist die Puffergröße die Systemvorgabe (Standardverhalten). Hier ist eine Liste der verschiedenen Modi der Eröffnung einer Datei minusIs gibt es eine entkoppelte Methode der Übergabe in einer Binärdatei ohne Leiden der Strafe von Python mit ungepufferten Stdout für die gesamte Dauer des Ausführens eines Programms (wenn ich beabsichtige, nur cmdline und nicht verwenden Offen (; rb) Es scheint wie - u ist die einzige Möglichkeit, in einer Datei als Binärdaten (aus cmdline) zu lesen - u Force Stdin, Stdout und Stderr ganz ungepuffert zu sein. Auf Systemen, wo es zählt, auch stdin, stdout Und stderr im Binär-Modus gefragt 30. September 11 um 6:44 aus irgendeinem Grund hat Python - u (ungepufferte Ausgabe, die Dinge sehr langsam macht), auch kontrollieren, ob eine Datei im Operator wie test. py lt myfile behandelt wird Als binäre Eingabe. Ich lief in ein Problem, in dem ich hatte, um diese Eingabe-Format für eine Klasse und in den Prozess der Parsing der Datei, würde es das Äquivalent von 39ctrlz39 lesen und töten die Anwendung. So meine Hoffnung war, dass there39s ein Weg Um eine Datei als binäre in zu behandeln, wo ich python erzähle, um gepufferte Ausgabe ndash pyInTheSky Okt 4 11 um 12:02 Du könntest vielleicht den Pythons-Dateimodus vermeiden, indem du stattdessen das fileno aus dem sys. stdin-dateiähnlichen Objekt ergreift und os benutzt. read (), um Daten von ihm zu holen Dieser Code ändert die Standard-Eingabe (nur) in den ungepufferten Modus. Mit diesem kannst du den Dolmetscher nicht mit - u aufrufen. Nur Unix Allerdings bin ich mir nicht sicher, welche Nebenwirkungen dies haben könnte, zum Beispiel auf die integrierte Router-Funktion. Sei vorsichtig, auch im Nicht-Blocking-Modus, wenn select sagt Ihnen die fd ist bereit zu lesen, müssen Sie noch brauchen, um OSError zu fangen und für e. errno os. errno. EAGAIN zu überprüfen. Solche Fehler sollten ignoriert werden.7. Input und Output Es gibt mehrere Möglichkeiten, die Ausgabe eines Programms zu präsentieren, die Daten in einer menschenlesbaren Form gedruckt oder in eine Datei zur zukünftigen Verwendung geschrieben werden können. In diesem Kapitel werden einige der Möglichkeiten diskutiert. 7.1. Fancier Output Formatierung Bisher haben wir auf zwei Arten des Schreibens von Werten: Ausdrucksaussagen und der print-Anweisung gestoßen. (Ein dritter Weg ist mit der write () - Methode von Dateiobjekten, auf die die Standardausgabedatei als sys. stdout referenziert werden kann. Weitere Informationen hierzu finden Sie in der Bibliotheksreferenz.) Oft können Sie mehr Kontrolle über die Formatierung Ihrer Ausgabe haben als einfach Druckraum-getrennte Werte. Es gibt zwei Möglichkeiten, um Ihre Ausgabe zu formatieren, die erste Möglichkeit ist, alle String-Handling selbst mit String-Slicing und Verkettung Operationen können Sie jedes Layout, das Sie sich vorstellen können, zu tun. Die String-Typen haben einige Methoden, die nützliche Operationen zum Auffüllen von Strings zu einer gegebenen Spaltenbreite durchführen, die in Kürze diskutiert werden. Der zweite Weg ist, die Methode str. format () zu verwenden. Das String-Modul enthält eine Template-Klasse, die eine weitere Möglichkeit bietet, Werte in Strings zu ersetzen. Eine Frage bleibt natürlich: Wie konvertiert man Werte in Strings. Zum Glück hat Python Möglichkeiten, jeden Wert in einen String umzuwandeln: an die repr () oder Str () - Funktionen weiterzugeben. Die Funktion str () soll Repräsentationen von Werten darstellen, die ziemlich menschlich lesbar sind, während repr () dazu dient, Darstellungen zu erzeugen, die vom Interpreter gelesen werden können (oder einen SyntaxError zwingen, wenn es keine gleichwertige Syntax gibt). Für Objekte, die eine bestimmte Darstellung für den menschlichen Verzehr haben, wird str () denselben Wert wie repr () zurückgeben. Viele Werte, wie z. B. Zahlen oder Strukturen wie Listen und Wörterbücher, haben die gleiche Darstellung mit beiden Funktionen. Strings und Fließkommazahlen haben insbesondere zwei verschiedene Darstellungen. Hier gibt es zwei Möglichkeiten, eine Tabelle von Quadraten und Würfeln zu schreiben: (Beachten Sie, dass im ersten Beispiel ein Leerzeichen zwischen jeder Spalte durch die Art und Weise gedruckt wurde: Es fügt immer Leerzeichen zwischen seinen Argumenten hinzu.) Dieses Beispiel zeigt die Str. rjust () - Methode von String-Objekten, die rechts einen String in einem Feld einer gegebenen Breite rechtfertigt, indem er sie mit Leerzeichen auf der linken Seite aufnimmt. Es gibt ähnliche Methoden str. ljust () und str. center (). Diese Methoden schreiben nichts, sie geben einfach einen neuen String zurück. Wenn die eingegebene Zeichenfolge zu lang ist, schneiden sie es ab, aber geben Sie sie unverändert zurück, das wird Ihre Spalte ausrichten, aber das ist in der Regel besser als die Alternative, die über einen Wert liegen würde. (Wenn Sie wirklich Trunkierung wollen, können Sie immer eine Scheibenoperation hinzufügen, wie in x. ljust (n): n.) Es gibt eine andere Methode, str. zfill (). Die einen numerischen String auf der linken Seite mit Nullen pads. Es versteht sich über Plus - und Minuszeichen: Die Grundnutzung der str. format () - Methode sieht so aus: Die Klammern und Zeichen in ihnen (sogenannte Formatfelder) werden durch die in die str. format () - Methode übergebenen Objekte ersetzt. Eine Zahl in den Klammern bezieht sich auf die Position des Objekts, das in die Methode str. format () übergeben wurde. Wenn Keyword-Argumente in der Methode str. format () verwendet werden, werden ihre Werte mit dem Namen des Arguments bezeichnet. Positions - und Keyword-Argumente können beliebig kombiniert werden: 7.2. Lesen und Schreiben von Dateien open () gibt ein Dateiobjekt zurück und wird am häufigsten mit zwei Argumenten verwendet: open (Dateiname, Modus). Das erste Argument ist ein String mit dem Dateinamen. Das zweite Argument ist ein weiterer String mit einigen Zeichen, die die Art und Weise beschreiben, in der die Datei verwendet wird. Modus kann r sein, wenn die Datei nur gelesen wird, w für nur das Schreiben (eine vorhandene Datei mit dem gleichen Namen wird gelöscht), und a öffnet die Datei zum Anhängen von Daten, die in die Datei geschrieben werden, wird automatisch zum Ende hinzugefügt. R öffnet die Datei zum Lesen und Schreiben. Das Modus-Argument ist optional r wird angenommen, wenn it8217s weggelassen wird. Unter Windows, b an den Modus angehängt, öffnet sich die Datei im Binärmodus, also gibt es auch Modi wie rb. Wb. Und rb. Python unter Windows unterscheidet zwischen Text - und Binärdateien die End-of-Line-Zeichen in Textdateien werden automatisch leicht verändert, wenn Daten gelesen oder geschrieben werden. Diese Hinter-den-Szenen-Modifikation auf Datei-Daten ist gut für ASCII-Textdateien, aber it8217ll korrupte Binärdaten wie die in JPEG-oder EXE-Dateien. Seien Sie sehr vorsichtig, den Binärmodus beim Lesen und Schreiben solcher Dateien zu verwenden. Auf Unix ist es nicht verletzt, um ein b an den Modus anzuhängen, also kannst du es plattformunabhängig für alle Binärdateien verwenden. 7.2.1. Methoden der Dateiobjekte Der Rest der Beispiele in diesem Abschnitt wird davon ausgehen, dass bereits ein Dateiobjekt mit dem Namen f erstellt wurde. Um einen file8217s Inhalt zu lesen, ruf f. read (size) an. Die einige Datenmengen liest und als String zurückgibt. Größe ist ein optionales numerisches Argument. Wenn die Größe weggelassen oder negativ ist, wird der gesamte Inhalt der Datei gelesen und zurückgegeben it8217s Ihr Problem, wenn die Datei doppelt so groß ist wie Ihr machine8217s Speicher. Ansonsten werden die meisten Bytes gelesen und zurückgegeben. Wenn das Ende der Datei erreicht ist, gibt f. read () einen leeren String (quotquot) zurück. F. readline () liest eine einzelne Zeile aus der Datei, wobei ein Zeilenumbruch (n) am Ende der Zeichenfolge verbleibt und wird nur in der letzten Zeile der Datei ausgelassen, wenn die Datei in einem Zeilenumbruch endet. Dies macht den Rückgabewert eindeutig, wenn f. readline () einen leeren String zurückgibt, das Ende der Datei erreicht ist, während eine Leerzeile durch n dargestellt wird. Eine Zeichenfolge, die nur eine einzige Zeile enthält. Zum Lesen von Zeilen aus einer Datei können Sie das Dateiobjekt umschleifen. Dies ist Speicher effizient, schnell und führt zu einfachen Code: Wenn Sie alle Zeilen einer Datei in einer Liste lesen möchten, können Sie auch die Liste (f) oder f. readlines () verwenden. F. write (string) schreibt den Inhalt der Zeichenfolge in die Datei und gibt keine zurück. Um etwas anderes als einen String zu schreiben, muss es in einen String zuerst konvertiert werden: f. tell () gibt eine Ganzzahl zurück, die die Datei object8217s aktuelle Position in der Datei gibt, gemessen in Bytes vom Anfang der Datei. Um die Datei object8217s zu ändern, verwenden Sie f. seek (Offset, fromwhat). Die Position wird aus dem Hinzufügen von Offset zu einem Referenzpunkt berechnet. Der Referenzpunkt wird durch das Argument ausgewählt. A aus dem Wert von 0 Maßen vom Anfang der Datei, 1 verwendet die aktuelle Datei Position, und 2 verwendet das Ende der Datei als Referenzpunkt. Von denen kann weggelassen werden und standardmäßig auf 0, mit dem Anfang der Datei als Referenzpunkt. Wenn Sie mit einer Datei fertig sind, rufen Sie f. close () an, um es zu schließen und alle Systemressourcen freizugeben, die von der geöffneten Datei aufgenommen wurden. Nach Aufruf von f. close (). Versuche, das Dateiobjekt zu verwenden, werden automatisch fehlschlagen. Es ist eine gute Praxis, das mit Schlüsselwort zu verwenden, wenn es um Dateiobjekte geht. Dies hat den Vorteil, dass die Datei ordnungsgemäß geschlossen ist, nachdem ihre Suite beendet ist, auch wenn eine Ausnahme auf dem Weg erhoben wird. Es ist auch viel kürzer als das Schreiben von äquivalenten Versuchen - endlich Blöcke: Dateiobjekte haben einige zusätzliche Methoden wie isatty () und truncate (), die weniger häufig verwendet werden, konsultieren Sie die Bibliotheksreferenz für eine vollständige Anleitung zur Dateiobjekte. 7.2.2. Das Speichern von strukturierten Daten mit json Strings kann einfach in eine Datei geschrieben und gelesen werden. Zahlen nehmen ein bisschen mehr Aufwand, da die read () - Methode nur Strings zurückgibt, die an eine Funktion wie int () übergeben werden müssen. Die einen String wie 123 annimmt und seinen numerischen Wert 123 zurückgibt. Wenn Sie komplexere Datentypen wie verschachtelte Listen und Wörterbücher speichern möchten, wird das Parsen und Serialisieren von Hand kompliziert. Anstatt Benutzer ständig zu schreiben und Debugging-Code, um komplizierte Datentypen in Dateien zu speichern, erlaubt Python Ihnen das beliebte Datenaustauschformat namens JSON (JavaScript Object Notation) zu verwenden. Das Standardmodul namens json kann Python-Datenhierarchien aufnehmen und in Stringdarstellungen umwandeln, wobei dieser Prozeß als Serialisierung bezeichnet wird. Die Rekonstruktion der Daten aus der Stringdarstellung heißt Deserialisierung. Zwischen Serialisierung und Deserialisierung kann die Zeichenfolge, die das Objekt repräsentiert, in einer Datei oder Daten gespeichert oder über eine Netzwerkverbindung zu einer entfernten Maschine geschickt worden sein. Das JSON-Format wird häufig von modernen Anwendungen genutzt, um den Datenaustausch zu ermöglichen. Viele Programmierer sind bereits vertraut, was eine gute Wahl für die Interoperabilität macht. Wenn du ein Objekt x hast. Sie können ihre JSON-String-Darstellung mit einer einfachen Codezeile ansehen: Eine weitere Variante der Dumps () - Funktion, genannt dump (). Einfach das Objekt zu einer Datei serialisiert. Wenn also f ein Dateiprojekt zum Schreiben ist, können wir dies tun: Um das Objekt wieder zu dekodieren, wenn f ein Dateiobjekt ist, das zum Lesen geöffnet wurde: Diese einfache Serialisierungstechnik kann Listen und Wörterbücher verarbeiten, aber beliebige Klasseninstanzen serialisieren In JSON erfordert etwas Aufwand. Die Referenz für das json-Modul enthält eine Erläuterung dazu. Pickle - das pickle module Im Gegensatz zu JSON. Pickle ist ein Protokoll, das die Serialisierung von beliebig komplexen Python-Objekten ermöglicht. Als solches ist es spezifisch für Python und kann nicht verwendet werden, um mit Anwendungen in anderen Sprachen geschrieben zu kommunizieren. Es ist auch standardmäßig unsicher: Deserialisierung von Pickle-Daten, die von einer nicht vertrauenswürdigen Quelle kommen, können beliebigen Code ausführen, wenn die Daten von einem erfahrenen Angreifer gefertigt wurden.1. Befehlszeile und Umgebung 1.1.1. Schnittstellenoptionen Die Interpreter-Schnittstelle ähnelt der der UNIX-Shell, bietet aber einige zusätzliche Aufrufmethoden: Wenn sie mit einer Standard-Eingabe an ein tty-Gerät angerufen wird, werden sie nach Befehlen aufgefordert und führt sie bis zu einem EOF (ein Zeichen des End-of-File-Zeichens, Sie können das mit Ctrl-D auf UNIX oder Ctrl-Z, Enter unter Windows erzeugen) gelesen werden. Wenn Sie mit einem Dateinamen-Argument oder mit einer Datei als Standard-Eingabe aufgerufen werden, liest und führt es ein Skript aus dieser Datei aus. Wenn Sie mit einem Verzeichnisnamen-Argument aufgerufen werden, liest und führt es ein entsprechend benanntes Skript aus diesem Verzeichnis aus. Wenn mit - c Befehl aufgerufen. Es führt die als Befehl angegebene Python-Anweisung aus. Hier kann der Befehl mehrere von newlines getrennte Anweisungen enthalten. Führender Whitespace ist in Python-Anweisungen signifikant, wenn Sie mit - m Modulnamen aufgerufen werden. Das gegebene Modul befindet sich auf dem Python-Modulpfad und wird als Skript ausgeführt. Im nicht interaktiven Modus wird die gesamte Eingabe vor dem Ausführen analysiert. Eine Schnittstellenoption beendet die Liste der Optionen, die vom Interpreter verbraucht werden, alle aufeinanderfolgenden Argumente werden in sys. argv 8211 enden, dass das erste Element, subscript zero (sys. argv0), eine Zeichenfolge ist, die die program8217s Quelle widerspiegelt. Führen Sie den Befehl Python-Code aus. Befehl kann eine oder mehrere Anweisungen sein, die durch newlines getrennt sind, mit bedeutendem führendem Whitespace wie im normalen Modulcode. Wenn diese Option gegeben ist, wird das erste Element von sys. argv quot-cquot und das aktuelle Verzeichnis wird zum Anfang von sys. path hinzugefügt (so dass Module in diesem Verzeichnis als Top-Level-Module importiert werden). Suchen Sie sys. path für das benannte Modul und führen Sie den Inhalt als Hauptmodul aus. Da das Argument ein Modulname ist, darf man keine Dateierweiterung (.py) geben. Der Modulname sollte ein gültiger Python-Modulname sein, aber die Implementierung kann dies nicht immer erzwingen (z. B. kann es Ihnen erlauben, einen Namen zu verwenden, der einen Bindestrich enthält). Paketnamen sind ebenfalls erlaubt. Wenn ein Paketname anstelle eines normalen Moduls geliefert wird, führt der Interpreter ltpkggt. main als Hauptmodul aus. Dieses Verhalten ist bewusst ähnlich wie die Handhabung von Verzeichnissen und Zipfiles, die an den Dolmetscher als Skriptargument übergeben werden. Diese Option kann nicht mit eingebauten Modulen und Erweiterungsmodulen verwendet werden, die in C geschrieben sind, da sie keine Python-Moduldateien haben. Es kann aber auch für vorkompilierte Module verwendet werden, auch wenn die ursprüngliche Quelldatei nicht verfügbar ist. Wenn diese Option gegeben ist, ist das erste Element von sys. argv der vollständige Pfad zur Moduldatei. Wie bei der Option - c wird das aktuelle Verzeichnis zum Start von sys. path hinzugefügt. Viele Standardbibliotheksmodule enthalten Code, der bei der Ausführung als Skript aufgerufen wird. Ein Beispiel ist das Timeit-Modul: PEP 370 8211 Pro Benutzer-Site-Pakete Verzeichnis Deaktivieren Sie den Import der Modul-Site und die ortsabhängigen Manipulationen von sys. path, die es mit sich bringt. Geben Sie eine Warnung aus, wenn eine Quelldatei Tabs und Leerzeichen für die Einrückung in einer Weise mischt, die es auf den Wert eines Tabs, der in Leerzeichen ausgedrückt wird, abhängt. Geben Sie einen Fehler aus, wenn die Option zweimal gegeben wird (-tt). Force Stdin, Stdout und Stderr, um völlig ungepuffert zu sein. Auf Systemen, wo es zählt, auch stdin, stdout und stderr im Binärmodus. Beachten Sie, dass es interne Pufferung in file. readlines () und File Objects (für Zeile in sys. stdin) gibt, die nicht von dieser Option beeinflusst wird. Um dies zu umgehen, möchten Sie file. readline () innerhalb einer Weile 1: loop verwenden. Drucken Sie eine Meldung jedes Mal, wenn ein Modul initialisiert wird, und zeigt den Ort (Dateiname oder eingebautes Modul) an, von dem es geladen wird. Wenn Sie zweimal (-vv) gegeben haben, drucken Sie eine Nachricht für jede Datei, die bei der Suche nach einem Modul überprüft wird. Hier finden Sie auch Informationen zur Modulbereinigung am Ausgang. Siehe auch PYTHONVERBOSE. Warnkontrolle. Python8217s Warnung Maschinen standardmäßig druckt Warnmeldungen an sys. stderr. Eine typische Warnmeldung hat folgende Form: Standardmäßig wird jede Warnung einmal für jede Quellzeile gedruckt, wo sie auftritt. Diese Option steuert, wie oft Warnungen gedruckt werden. Mehrere - W-Optionen können gegeben werden, wenn eine Warnung mehr als eine Option übereinstimmt, wird die Aktion für die letzte übereinstimmende Option durchgeführt. Invalid - W-Optionen werden ignoriert (obwohl eine Warnmeldung über ungültige Optionen gedruckt wird, wenn die erste Warnung ausgegeben wird). Ausgehend von Python 2.7 werden DeprecationWarning und seine Nachkommen standardmäßig ignoriert. Mit der Option - Wd können sie wieder aktiviert werden. Warnungen können auch innerhalb eines Python-Programms mit dem Warnmodul gesteuert werden. Die einfachste Form des Arguments ist eine der folgenden Aktionszeichenfolgen (oder eine eindeutige Abkürzung) für sich selbst: ignorieren Ignorieren Sie alle Warnungen. Default Ausdrücklich das Standardverhalten anfordern (jede Warnung einmal pro Quellzeile drucken). Alle Drucken Sie eine Warnung jedes Mal, wenn es auftritt (dies kann viele Meldungen generieren, wenn eine Warnung wiederholt für die gleiche Quellzeile wie z. B. innerhalb einer Schleife ausgelöst wird). Modul Drucken Sie jede Warnung nur das erste Mal, wenn es in jedem Modul auftritt. Einmal Druck jede Warnung nur das erste Mal, wenn es im Programm auftritt. Fehler Heben Sie eine Ausnahme an, anstatt eine Warnmeldung zu drucken. Die vollständige Form des Arguments lautet: Hier ist die Aktion wie oben beschrieben, gilt aber nur für Nachrichten, die mit den übrigen Feldern übereinstimmen. Leere Felder passen zu allen Werten, die hintere leere Felder zurückgeben können. Das Meldungsfeld stimmt mit dem Beginn der Warnmeldung überein, die bei dieser Übereinstimmung gedruckt wird. Das Feld der Kategorie entspricht der Warnkategorie. Dies muss ein Klassenname sein, das das Spiel prüft, ob die eigentliche Warnkategorie der Nachricht eine Unterklasse der angegebenen Warnkategorie ist. Der vollständige Klassenname muss angegeben werden. Das Modulfeld entspricht dem (vollqualifizierten) Modulnamen, bei dem es um die Groß - / Kleinschreibung geht. Das Zeilenfeld entspricht der Zeilennummer, wobei Null alle Zeilennummern entspricht und somit einer ausgelassenen Zeilennummer entspricht. Warnungen 8211 das Warnmodul PEP 230 8211 Warnrahmen Überspringen Sie die erste Zeile der Quelle und erlauben die Verwendung von Nicht-Unix-Formen von cmd. Dies ist nur für einen DOS-spezifischen Hack gedacht. Die Zeilennummern in Fehlermeldungen werden um eins ausgeschaltet. Warnung über Python 3.x mögliche Inkompatibilitäten durch das Ausgeben eines DeprecationWarnings für Features, die in Python 3 entfernt oder signifikant geändert werden. Neu in Version 2.6. 1.1.4. Optionen, die du für die Verwendung von Jython verwenden solltest. Verwandelt alle String-Literale in Unicodes weltweit. Sei nicht versucht, diese Option zu benutzen, da es wahrscheinlich deine Welt brechen wird. Es produziert auch. pyc Dateien mit einer anderen magischen Zahl als normal. Stattdessen können Sie Unicode-Literale auf einer Modulbasis aktivieren, indem Sie: am Anfang der Datei verwenden. Siehe Details für Details. Reserviert für alternative Implementierungen von Python für ihre eigenen Zwecke zu verwenden. 1.2 Umgebungsvariablen Diese Umgebungsvariablen beeinflussen das Verhalten von Python8217s, sie werden verarbeitet, bevor die Befehlszeilenoptionen anders als - E sind. Es ist üblich, dass Befehlszeilen-Schalter Umgebungsvariablen überschreiben, wo ein Konflikt besteht. Ändern Sie den Speicherort der Standard-Python-Bibliotheken. Standardmäßig werden die Bibliotheken im Präfix libpython Version und execprefix libpython Version durchsucht. Wobei Präfix und Execprefix Installationsabhängige Verzeichnisse sind, die beide auf usrlocal verweisen. Wenn PYTHONHOME auf ein einzelnes Verzeichnis gesetzt ist, ersetzt sein Wert sowohl Präfix als auch execprefix. Um hierzu unterschiedliche Werte festzulegen, setzen Sie PYTHONHOME auf Präfix. Execprefix Vergrößern Sie den Standard-Suchpfad für Moduldateien. Das Format ist das gleiche wie das shell8217s PATH. Ein oder mehrere Verzeichnispfadnamen getrennt durch os. pathsep (z. B. Doppelpunkte auf Unix oder Semikolons unter Windows). Nicht vorhandene Verzeichnisse werden stillschweigend ignoriert. Zusätzlich zu den normalen Verzeichnissen können einzelne PYTHONPATH-Einträge auf zip-Dateien mit reinen Python-Modulen (entweder in Quell - oder kompilierter Form) verweisen. Erweiterungsmodule können nicht aus zipfiles importiert werden. Der Standard-Suchpfad ist installationsabhängig, beginnt aber generell mit der Präfix-libpython-Version (siehe PYTHONHOME oben). Es ist immer an PYTHONPATH angehängt. Ein zusätzliches Verzeichnis wird in den Suchpfad vor PYTHONPATH eingefügt, wie oben unter Schnittstellenoptionen beschrieben. Der Suchpfad kann innerhalb eines Python-Programms als Variable sys. path manipuliert werden. Wenn dies der Name einer lesbaren Datei ist, werden die Python-Befehle in dieser Datei ausgeführt, bevor die erste Eingabeaufforderung im interaktiven Modus angezeigt wird. Die Datei wird im selben Namespace ausgeführt, in dem interaktive Befehle ausgeführt werden, damit Objekte, die in ihr definiert oder importiert werden, ohne Qualifikation in der interaktiven Sitzung verwendet werden können. Sie können auch die Eingabeaufforderungen sys. ps1 und sys. ps2 in dieser Datei ändern. Setzen Sie diese auf einen nicht leeren String, um zu veranlassen, dass das Zeitmodul die Daten, die als Strings angegeben sind, um 4-stellige Jahre enthält, ansonsten 2-stellige Jahre umgesetzt werden, basierend auf Regeln, die in der Zeitmoduldokumentation beschrieben sind. Wenn dies auf eine nicht leere Zeichenfolge gesetzt ist, ist es gleichbedeutend mit der Angabe der Option - O. Wenn auf eine Ganzzahl gesetzt, ist es gleichbedeutend mit der Angabe von - O mehrfach. Wenn dies auf einen nicht leeren String gesetzt ist, ist es gleichbedeutend mit der Angabe der Option - d. Wenn auf eine Ganzzahl gesetzt, ist es gleichbedeutend mit der Angabe - d mehrere Male. Wenn dies auf eine nicht leere Zeichenfolge gesetzt ist, entspricht es der Angabe der Option - i. Diese Variable kann auch durch Python-Code mit os. environ geändert werden, um den Inspektionsmodus bei Programmbeendigung zu erzwingen. Wenn dies auf eine nicht leere Zeichenfolge gesetzt ist, ist es gleichbedeutend mit der Angabe der Option - u. Wenn dies auf eine nicht leere Zeichenfolge gesetzt ist, ist es gleichbedeutend mit der Angabe der Option - v. Wenn auf eine Ganzzahl gesetzt, ist es gleichbedeutend mit der Angabe von - v mehrfach. Wenn dies eingestellt ist, ignoriert Python den Fall in Importanweisungen. Dies funktioniert nur unter Windows, OS X, OS2 und RiscOS. Wenn dies eingestellt ist, versucht Python zu versuchen,.pyc - oder. pyo-Dateien beim Import von Quellmodulen zu schreiben. Dies entspricht der Angabe der Option - B. Neu in Version 2.6. Wenn diese Variable auf zufällig gesetzt ist. Der Effekt ist der gleiche wie die Angabe der Option - R: Ein zufälliger Wert wird verwendet, um die Hashes von Str, Bytes und datetime-Objekten zu säen. Wenn PYTHONHASHSEED auf einen Integer-Wert gesetzt ist, wird er als fester Seed für die Erzeugung des Hash () der von der Hash-Randomisierung abgedeckten Typen verwendet. Sein Ziel ist es, wiederholtes Hashing zu erlauben, wie zum Beispiel für Selbsttests für den Dolmetscher selbst, oder um einen Cluster von Pythonprozessen zu erlauben, Hashwerte zu teilen. Die Ganzzahl muss eine Dezimalzahl im Bereich 0,4294967295 sein. Die Angabe des Wertes 0 führt zu den gleichen Hash-Werten, wenn die Hash-Randomisierung deaktiviert ist. Neu in Version 2.6.8. Überschreibt die für stdinstdoutstderr verwendete Codierung in der Syntax encodingname: errorhandler. Der Fehlerhandler-Teil ist optional und hat die gleiche Bedeutung wie in str. encode (). Neu in Version 2.6. PEP 370 8211 Pro Benutzer-Site-Paket-Verzeichnis Wenn diese Umgebungsvariable gesetzt ist, wird sys. argv0 auf den Wert gesetzt, anstatt den Wert durch die C-Laufzeit zu erhalten. Funktioniert nur auf Mac OS X. Dies entspricht der Option - W. Wenn auf eine durch Kommas getrennte Zeichenfolge gesetzt, ist es gleichbedeutend mit der Angabe von - W mehrfach. Wenn diese Umgebungsvariable speziell auf 0 gesetzt ist, ist es äquivalent, implizit ssl. httpsverifycertificates () mit enableFalse aufzurufen, wenn ssl zuerst importiert wird. Weitere Informationen finden Sie in der Dokumentation von ssl. httpsverifycertificates (). Neu in Version 2.7.12. 1.2.1. Debug-Modus-Variablen Die Einstellung dieser Variablen hat nur einen Effekt in einem Debug-Build von Python, das heißt, wenn Python mit der Option --with-pydebug erstellt wurde. Wenn gesetzt, druckt Python Threading-Debug-Info. Geändert in Version 2.6: Bisher wurde diese Variable THREADDEBUG genannt. Wenn es gesetzt ist, wird Python nach dem Herunterfahren des Interpreters noch Objekte aussetzen und die Referenzzählungen noch lebt. Wenn gesetzt, druckt Python die Speicherzuweisungsstatistiken jedes Mal, wenn eine neue Objektarena erstellt wird, und beim Herunterfahren.
Comments
Post a Comment