[PYTHON] Von sys import stderr oder import sys → sys.stderr

Beschreibung des Standardfehlerausgabestreams in Python-Code

from sys import stderr 

stderr

Und wie man schreibt

import sys

sys.stderr

Es gibt zwei Möglichkeiten zu schreiben. Nicht nur stderr, sondern alle Importe. Nun, wie man sie richtig benutzt. Abgesehen von der Tatsache, dass Ersteres bei Verwendung in einer Schleife eine etwas bessere Leistung aufweist, gibt es einen semantischen Unterschied.

Wenn ich versuche, das Ausgabeziel mit contextlib.redirect_stderr für Unit-Tests zu ersetzen, wird im ersteren Fall, wenn das Modul bereits geladen ist, der Verweis auf stderr bestätigt ** Funktioniert nicht **. Im letzteren Fall wird der stderr zum ersten Mal von sys erfasst, wenn der Prozess ausgeführt wird, sodass ** das Ersetzen wirksam ist **.

Da die Funktion zum einfachen Drucken mit "contextlib.redirect_stdout" aktiviert werden kann, kann gesagt werden, dass es sich um die Operation handelt, bei der jedes Mal stdout von sys vor Ort abgerufen wird. Wenn Sie also das Verhalten darauf abstimmen möchten, beschreiben Sie bitte letzteres. Es wird gut sein.

Recommended Posts

Von sys import stderr oder import sys → sys.stderr
Python aus oder importieren
Importieren Sie aus sklearn.datasets fetch_mldata-> fetch_openml