Seite 1 von 1

Script Output als Var definieren

Verfasst: Montag 7. März 2022, 12:35
von Rainez
data = subprocess.check_output(['ipconfig']).decode('utf-8').split('\n')
profiles = [i.split(":")[1][1:-1] for i in data if "IPv4-Adresse" in i]
for i in profiles:
results = subprocess.check_output(['ipconfig']).decode('utf-8').split('\n')
try:
print ("{:<1}| {:<}".format(i, results[0]))
except IndexError:
print ("{:<1}| {:<}".format(i, ""))


target =

Ich bin neu in diesem Programieren :D und stelle mich gerade zu blöd an. Ich versuche den output vom oberen script als Variable "Target" zu definieren. Irgendwelche Vorschläge?

Re: Script Output als Var definieren

Verfasst: Dienstag 8. März 2022, 08:13
von Sirius3
Was möchtest Du eigentlich machen? Was genau soll in `target` stehen?

Zum Code:
Statt nachträglich zu decodieren, gib gleich das encoding beim Aufruf von check_output richtig an. Am besten mit text=True, dann wird das richtige Encoding automatisch gewählt. Statt split ist splitlines das richtige.
`i` ist ein schlechter Variablenname für eine Zeile.
`profiles` ist ein schlechter Name für ip-Adressen. Warum schneidest Du die letzte Ziffer der Adressen ab?
`i` ist dann ein schlechter Name für eine IP-Adresse.
Warum rufst Du dann nochmal `ipconfig` auf? Und was denkst Du steht dort dann immer in der ersten Zeile?

Und zum Schluß:
statt selbst irgendwelchen Programmoutput zu parsen, benutze psutil.net_if_addrs()