Мне нужно запустить пакетный файл из кода Java, в котором должен выполняться скрипт Python, и он не работает.
Запустите пакетный файл двойным щелчком, скрипт Python выполняется правильно. Запустить пакетный файл с JAVA ProcessBuilder не работает полностью. вывод текста из пакетного файла (-> echo), но python не вызывается. Как я могу это исправить? Я даже пытался запустить Python Script напрямую с ProcessBuilder, но вывод тоже не генерируется.
запуск Python напрямую в JAVA
String pyPath = "D:/<...>/my_py_file.py";
ProcessBuilder pb = new ProcessBuilder("cmd","/c","D:/Python27/ArcGISx6410.5/python",pyPath);
Process proc = pb.start();
Это не работает так же, как:
запустить пакетный файл в JAVA, вызвав my_py_file.py
ProcessBuilder pb = new ProcessBuilder("cmd","/c","D:/<...>/my_bat_file.bat");
Process proc = pb.start();
Это мой bat-файл:
@echo execute script
@echo off
cd\
d:
cd Python27/ArcGISx6410.5
@echo Python Version
python -V
@echo start script
python D:/<..>/my_py_file.py
exit
ВЫВОД двойным щелчком:
execute script
Python Version
Python 2.7.13
start script
**pythonOutput**
ВЫХОД с помощью ProcessBuilder:
execute script
Python Version
start script
*nothing*