0 Pluspunkte 0 Minuspunkte

Wie kann ich die Ausgabe eines System Call in einer Variable speichern?

import os

v = os.system("ipconfig")
print("---start---")
print(v)
print("---ende---")

Die Ausgabe sieht aber so aus, meine Start und Stop Marker werden beide danach angezeigt.

Windows-IP-Konfiguration
...
   Subnetzmaske  . . . . . . . . . . : 255.255.240.0
   Standardgateway . . . . . . . . . :
---start---
0
---ende---
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Um die Ausgabe in einer Variable zu speichern, solltest du subprocess.check_output() statt os.system() verwenden. Die Funktion gibt die Ausgabe als Bytearray zurück, das in einen normalen String umgewandelt werden kann.

import subprocess

output = subprocess.check_output("ipconfig", shell=True, text=True)
print("---start---")
print(output)
print("---ende---")

von