Wie man stdout mit invoke.run() in Python in einen String umleitet
Dieses Beispiel zeigt, wie man stdout in einen String umleitet, anstatt es auf System-stdout auszugeben:
Der grundlegende Trick besteht darin, ein StringIO zu initialisieren (ein dateiähnliches Objekt, in das pyinvoke die stdout vom Subprozess schreiben kann) und es an das out_stream-Argument von invoke.run() zu übergeben
invoke_capture_stdout.py
import invoke
from io import StringIO
outStream = StringIO()
result = invoke.run("wg genkey", out_stream=outStream)
stdout_str = outStream.getvalue()
print("Result: ", stdout_str)Check out similar posts by category:
Python
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow