Próbuję napisać skrypt w języku Python w systemie Windows 7, który odczytuje dane wyjściowe polecenia ipconfig /displaydns
i próbuje uzyskać pewne wartości z wyjścia.Parsowanie wyników polecenia w Pythonie
Wyjście ipconfig /displaydns"
jest coś takiego,
Windows IP Configuration
9.a.c.e.x-0.19-430f5091.531.1518.1b8d.2f4a.210.0.k1m2t5a3245k242qmfp75spjkv.avts.
Record Name . . . . . : 9.a.c.e.x-0.19-430f5091.531.1518.1b8d.2f4a.210.0.k1m2t5a3245k242qmfp75spjkv.avts.
Record Type . . . . . : 1
Time To Live . . . . : 294
Data Length . . . . . : 4
Section . . . . . . . : Answer
A (Host) Record . . . : 127.0.0.16
Biorę to wyjście i zapisanie go w zmiennej jak poniżej,
output = subprocess.check_output("ipconfig /displaydns", shell=True)
Podczas drukowania „Wyjście” Otrzymuję po
b'\r\nWindows IP Configuration\r\n\r\n 9.a.c.e.x-0.19-430f5091.531.1518.1b8d.2f4a.210.0.k1m2t5a3245k242qmfp75spjkv.avts.\r\n ----------------------------------------\r\n Record Name . . . . . : 9.a.c.e.x-0.19-430f5091.531.1518.1b8d.2f4a.210.0.k1m2t5a3245k242qmfp75spjkv.avts.\r\n Record Type . . . . . : 1\r\n Time To Live . . . . : 289\r\n Data Length . . . . . : 4\r\n Section . . . . . . . : Answer\r\n A (Host) Record . . . : 127.0 .0.16\r\n\r\n\r\n'
Z tego wyniku interesują mnie wartości A (Host) Record
i Record Name
, które są odpowiednio 127.0.0.16
i 9.a.c.e.x-0.19-430f5091.531.1518.1b8d.2f4a.210.0.k1m2t5a3245k242qmfp75spjkv.avts.
.
Jak mógłbym to zrobić w Pythonie?
'o utput.split ('') '? (Edycja: po edycji, to nie jest prawidłowe) – Torxed