2015-07-29 3 views
0

Из приложения Java я пытаюсь открыть окно terminal/cmd с запущенным сеансом python и уже выполнен код из файла python.открытое окно терминала с python через java на разных платформах

Для Mac, следующий вызов работает хорошо: Файл (назовем его hello_world.py) может выглядеть как этот

#! /usr/bin/python -i 

print 'Hello, world!' 

The Java вызов следующее:

Runtime.getRuntime().exec("open -a Terminal hello_world.py"); 

Но Я не знаю, как это можно реализовать для Windows.

Я пробовал:

Runtime.getRuntime().exec("cmd /k python hello_world.py"); 

Но это будет просто выполнить сценарий, но не открывая питона сессии. Возможно ли вообще? Может ли кто-нибудь помочь?

+0

Смотрите также [Когда Runtime.exec() не будет] (HTTP: // WWW. javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html) для многих хороших советов по правильному созданию и обработке процесса. Затем проигнорируйте это, ссылаясь на 'exec' и используйте' ProcessBuilder' для создания процесса. –

+1

Я дам это посмотреть - спасибо – July

ответ

1

Я был успешным следующим вызовом:

Runtime.getRuntime().exec(new String[] { 
+      "cmd", 
+      "/k", 
+      "start", 
+      "python", 
+      "-i", 
+      "hello_world.py" 
+    }); 
0

Попробуйте это,

Runtime.getRuntime().exec("cmd start python hello_world.py");

+0

, это вызывает следующую ошибку: java.io.IOException: не удается запустить программу «start»: CreateProcess error = 2, система не может найти указанный файл – July

+0

Забыл упомянуть cmd на начало строки – RPradeep

Смежные вопросы