Man müsste mal den Quelltext ein wenig bearbeiten:
1. p.wait ist eine Funktion. Es muss p.wait() heißen. (Hatte ich auch so eingegeben
2. imports kommen in der Regel an den Anfang
3. Variablennamen sollten aussagekräfiger sein ("p" und "test" sind nicht besonders toll.)
4. der Pfad zum Programm muss in Anführungszeichen gesetzt werden (hatte ich auch getan. Dies verursachte wohl den Fehler)
Code: Alles auswählen
import shlex, subprocess
menu_input=raw_input ("eins,zwei")
if menu_input == "eins":
command_line = raw_input()
args = ["c:\\Programme(x86)DVDVideoSoft\\Free YouTube to MP3 Converter.exe"] + shlex.split(command_line)
p = subprocess.Popen (args)
p.wait()
(Das ändert nichts an der Funktionalität des Programms, entspricht aber der Syntax.)
Dies funktioniert möglicherweise aufgrund der Lehrzeichen im Dateinamen nicht. Ersetze in diesem Fall
Code: Alles auswählen
"c:\\Programme(x86)DVDVideoSoft\\Free YouTube to MP3 Converter.exe"
durch
Code: Alles auswählen
"c:\\Programme(x86)DVDVideoSoft\\Free\ YouTube\ to\ MP3\ Converter.exe"
Zusätzlich kann es sein, dass das Programm keine Argumente von der Kommandozeile entgegennimmt. Versuche daher das Programm cmd.exe zu öffnen und gebe dort
"c:\\Programme(x86)DVDVideoSoft\\Free\ YouTube\ to\ MP3\ Converter.exe dateiname" (ohne Anführungszeichen) ein und berichte, was passiert.