Python'da os.execvp
kullanımı hakkında bir sorum var.Python'da os.execvp kullanımı
args = [ "java" , classpath , "-Djava.library.path=" + lib_path() , ea , "-Xmx1000m" , "-server" , "code_swarm" , params ]
Ben çıkışı bir dize " ".join(args)
kullanarak ve benim kabuk istemi içine yapıştırın JVM ince başlattı ve her şey çalışıyor: Ben bağımsız değişkenlerin bir listesini oluşturmak için kullanılan kodun aşağıdaki bit var. Python betiğimde de os.system(" ".join(args))
kullanırsam her şey çalışır.
Ama
Aşağıdaki küçük kod çalışmaz:Unrecognized option: -classpath [and then the classpath I created, which looks okay] Could not create the Java virtual machine.
Peki verir: Aşağıdaki hata olsun
os.execvp("java", args)
? Neden kabuk içine yapıştırarak/yapıştırarak veya os.system()
kullanıyor, ancak os.execvp()
kullanıyor?
str (list()) == repr (list()) –
@John Millikin: Teşekkürler, gereksiz repr() öğesini kaldırdığımdan, "print sys.argv" komutunu kullanabilirsiniz. – CesarB