2017-02-14 1 views
0

Ich habe eine ausführbare Datei mit py2exe erstellt. Zuerst erschien die Eingabeaufforderung, als ich das Programm ausführte und offen blieb, bis ich das Programm schloss. Ich suche nach einer Lösung und fand etwas, das worked.I eine Zeile in der Setup-Datei geändert (http://www.py2exe.org/index.cgi/Tutorial) Code aus diesem:Wie vermeidet man, dass cmd auftaucht und schließt, wenn subprocess.popen() in einer ausführbaren Datei ausgeführt wird, die mit py2exe erstellt wurde?

setup(console=['myapp.py']) 

dazu:

setup(windows=['myapp.py']) 

tue dies in der Eingabeaufforderung Folge Ich öffne nicht jedes Mal, wenn ich das Programm ausführte.

Aber das Problem, das ich gerade habe, ist, dass immer wenn eine Codezeile wie die folgende ausgeführt wird (ich programmierte ein Programm um automatisch mehrere Windows-Aufgaben zu erstellen), die Eingabeaufforderung erscheint und schließt.

subprocess.Popen('schtasks /Create /S PC_Name /RU User /RP Password /XML XML_file, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 

Dies geschieht nicht, wenn ich die py-Datei ausgeführt, nur wenn ich die py2exe Bibliothek verwenden, um die ausführbare Datei zu erstellen.

Die Anwendung funktioniert gut, ich mache, was es tun soll. Ich möchte nur verhindern, dass die Eingabeaufforderung erscheint.

Vielen Dank im Voraus!

Antwort

0

diesen unartigen Jungen Versuchen:

def run_cmd(cmd): 
    fi, fo, fe = os.popen3(cmd) 
    response = "" 
    if fo: 
     for i in fo.readlines(): 
      response += i 
    if fe: 
     for i in fe.readlines(): 
      response += i 
    return response 
Verwandte Themen