2016-07-26 3 views
0

Ich versuche, eine ausführbare Datei wie folgt zu öffnen und unten in Fehler zu laufen, wie ich mich um die Leerzeichen zwischen Program Files kümmere und diese ausführbare Datei öffne?Wie programmatisch eine ausführbare Datei in Programmdateien öffnen?

C:\Windows\system32>python 
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> os.system("C:\\Program Files (x86)\\company\\POST\\bin\\POSTConfig.exe") 
'C:\Program' is not recognized as an internal or external command, 
operable program or batch file. 

UPDATE: -

Auch möchte ich die Python-Prozess zu beenden, während der POSTConfig.exe Prozess

+0

Sie müssen die Leerzeichen im Dateipfad umgehen. Oder zitieren Sie es in Anführungszeichen. So wie es ist, würde der Befehl nicht funktionieren, wenn Sie ihn in eine Shell einfügen würden. –

+1

'os.system' öffnet * nicht * eine * ausführbare *. Vielmehr führt es * einen * shell-Befehl * aus. Großer Unterschied. –

+1

Wenn 'POSTConfig' eine Kommandozeilen-App ist, sind Sie wahrscheinlich besser dran mit' subprocess' –

Antwort

0

Bitte führen Sie wie unten weiter:

os.system(r'"C:\Program Files (x86)\company\POST\bin\POSTConfig.exe"') 
0

Verwenden Sie eine rohe Zeichenfolge, doppelte Anführungszeichen i nside Apostrophe:

os.system(r'"C:\Program Files (x86)\company\POST\bin\POSTConfig.exe"') 

Aber schauen Sie bitte auf das subprocess Modul statt.

+0

Das funktioniert, die App wird geöffnet, aber der Befehl hängt ... wie ich den Befehl ordnungsgemäß beenden kann –

+0

@PythonProg Bitte aktualisieren Sie die Frage so, dass der Python-Prozess beendet werden soll, während der 'POSTConfig.exe'-Prozess fortgesetzt wird. –

+0

Rhymoid - aktualisiert –

Verwandte Themen