Python Capture-Antwort von powershell

Der folgende Code funktioniert bei manueller Eingabe. Wenn ich das Programm ausführe, wird nichts gedruckt. Mein letztendliches Ziel ist es, diese Daten vom Benutzer-PC abzurufen, um eine einfache Möglichkeit zum erneuten Erstellen von Verknüpfungen zu schaffen. Meine Benutzer verlieren sie irgendwie. Lol

import smtplib, os, subprocess, sys
from string import ascii_uppercase
from cStringIO import StringIO

data = os.popen(r"dir %userprofile%\desktop\*.lnk* /s/b").read()
file = open("testitem.txt", "w")
file.write(data)
file.close()


my_data = dict(zip(ascii_uppercase,open("testitem.txt")))


old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()

for key, value in my_data.iteritems():
    subprocess.Popen([r"powershell.exe", "$sh = New-Object -COM WScript.Shell" + "\n" +     "$sh.CreateShortcut(\"%s\").TargetPath" % my_data[key].replace("\n", "")], stdout=subprocess.PIPE).communicate()[0]


sys.stdout = old_stdout

shared = mystdout.getvalue()
print shared

Antworten auf die Frage(2)

Ihre Antwort auf die Frage