Wie erfasst man die Standardausgabe in Python-Skripten?
Erfassen der Skript-Standardausgabe
In einem Szenario, in dem ein Skript bestimmte Aufgaben ausführt, wie z. B. das Schreiben von Daten in seine Standardausgabe, erfasst es diese Ausgabe kann für die weitere Verarbeitung von entscheidender Bedeutung sein. Ein gängiger Ansatz besteht darin, zu versuchen, die Ausgabe in einer Variablen zu speichern, wie im folgenden Beispiel dargestellt:
<code class="python"># writer.py import sys def write(): sys.stdout.write("foobar")</code>
<code class="python"># mymodule.py from writer import write out = write() print(out.upper())</code>
Dieser Ansatz erfasst jedoch die Ausgabe des Skripts nicht. Eine alternative Lösung, die ein StringIO-Objekt und eine Umgebungseinrichtung verwendet, erfasst erfolgreich die Ausgabe:
<code class="python">import sys from cStringIO import StringIO # setup the environment backup = sys.stdout # #### sys.stdout = StringIO() # capture output write() out = sys.stdout.getvalue() # release output # #### sys.stdout.close() # close the stream sys.stdout = backup # restore original stdout print(out.upper()) # post processing</code>
Python 3.4-Lösung
Für Python-Versionen 3.4 und höher eine weitere Ein unkomplizierter Ansatz ist mit dem Kontextmanager contextlib.redirect_stdout verfügbar:
<code class="python">from contextlib import redirect_stdout from io import StringIO f = StringIO() with redirect_stdout(f): help(pow) s = f.getvalue()</code>
Das obige ist der detaillierte Inhalt vonWie erfasst man die Standardausgabe in Python-Skripten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Fastapi ...

Verwenden Sie Python im Linux -Terminal ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Verständnis der Anti-Crawling-Strategie von Investing.com Viele Menschen versuchen oft, Nachrichten von Investing.com (https://cn.investing.com/news/latest-news) zu kriechen ...

Über Pythonasyncio ...

Laden Sie die Gurkendatei in Python 3.6 Umgebungsfehler: ModulenotFoundError: Nomodulenamed ...

Diskussion über die Gründe, warum Pipeline -Dateien beim Lernen und Verwendung von Scapy -Crawlern für anhaltende Datenspeicher nicht geschrieben werden können, können Sie auf Pipeline -Dateien begegnen ...
