Ich habe eine Frage über die Verwendung von os.execvp
in Python. Ich habe das folgende Stück Code, der eine Liste von Argumenten zu erstellen verwendet wird:Verwenden von os.execvp in Python
args = [ "java" , classpath , "-Djava.library.path=" + lib_path() , ea , "-Xmx1000m" , "-server" , "code_swarm" , params ]
Wenn ich Ausgabe eine Zeichenfolge mit " ".join(args)
und fügen Sie, dass in meiner Shell-Prompt, die JVM startet in Ordnung, und alles funktioniert. Alles funktioniert, wenn ich auch os.system(" ".join(args))
in meinem Python-Skript verwende.
Aber das folgende Stück Code funktioniert nicht:
os.execvp("java", args)
ich die folgende Fehlermeldung erhalten:
Unrecognized option: -classpath [and then the classpath I created, which looks okay] Could not create the Java virtual machine.
Also, was soll das? Warum funktioniert Kopieren/Einfügen in die Shell oder os.system()
funktioniert, aber nicht os.execvp()
?
Sie können einfach "print sys.argv" verwenden, da str (list()) == repr (list()) –
@John Millikin: Danke, ich habe die redundante repr() entfernt. – CesarB