ich habe ein Dictionary (PC-Nummer: Benutzername) erstellt und gleichzeitig lasse ich den Befehl "query user /server:PC-Nummer" laufen. Die Ausgabe des Befehls lasse ich mir in eine Variable schreiben. Diese Variable splitte ich dann auf, sodass eine Liste erzeugt wird. Jedes Wort ist ein Listenobjekt.
Danach möchte ich abfragen, ob der Wert eines Keys aus dem Dictionary in der Liste erscheint. Das Ganze sieht bei mir momentan (Test) so aus:
Code: Alles auswählen
import subprocess
user = {"PC-Nummer": "user"}
response = subprocess.Popen([r"C:\Windows\Sysnative\query.exe","user", "/server:PC-Nummer"], stdout= subprocess.PIPE).communicate()[0]
test = response.split()
print(test)
for key in user:
if user.get(key) in test:
print("JUHU")
else:
print("MÄH")
Code: Alles auswählen
import subprocess
user = {"PC-Nummer": "user"}
response = subprocess.Popen([r"C:\Windows\Sysnative\query.exe","user", "/server:PC-Nummer"], stdout= subprocess.PIPE).communicate()[0]
test = response.split()
print(test)
for key in user:
for word in test:
if user.get(key) in test:
print("JUHU")
else:
print("MÄH")
Die einzelnen Elemente der Liste sind so formatiert: [b'Hallo', b'ich', b'weiß', b'nicht', b'weiter']. Ist das normal ? Haben die Hochkommata und das vorangestellte b eine besondere Bedeutung ? Konnte dazu in meinen Quellen nichts finden. Wird der Name evtl wegen der Formatierung nicht erkannt ?
Schonmal danke für eure Hilfe.
Grüße
EDIT:
Habe mal noch eine kleine von Hand erstellte Liste nach dem gleichen Prinzip wie oben durchsucht, da funktioniert alles. Muss ich beim Durchsuchen von gesplitteten Strings etwas beachten ?