Проблема при запуске скрипта Python в коде Java - PullRequest
0 голосов
/ 21 августа 2009

Когда я запускаю скрипт Python из приведенного ниже Java-кода, где входной файл задается в качестве аргумента скрипта Python, а также в качестве опции -v, я получаю IOException

String pythonScriptPath="\"C:\\Program Files\\bin\\CsvFile.py\"";
String Filepath="C:\\Documents and Settings\\user\\Desktop\\arbit.csv";
String[] cmd = new String[4];
cmd[0] = "python";
cmd[1] = pythonScriptPath;
cmd[2] = "-v";
cmd[3] = Filepath;
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(cmd);

Следующая ошибка:

CreateProcess: python "C:\Program Files\bin\CsvFile.py" -v "C:\Documents and Settings\user \Desktop\arbit.csv" error=2
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    at java.lang.ProcessBuilder.start(Unknown Source)
    at java.lang.Runtime.exec(Unknown Source)
    at java.lang.Runtime.exec(Unknown Source)

Может кто-нибудь, пожалуйста, дайте мне знать, как решить это исключение.

Благодарю вас, Харша

Ответы [ 4 ]

2 голосов
/ 21 августа 2009

error=2 означает, что функция Win32 CreateProcess возвращает код ошибки 2 или ERROR_FILE_NOT_FOUND. Либо он не может найти ваш скрипт, либо (что более вероятно, IMO) он не может найти python.exe. Если это последнее, убедитесь, что ваша установка Python (возможно, C:\Program Files\Python\bin, хотя я не уверен) находится в системном пути.

Вы можете изменить системный путь, зайдя в Панель управления и открыв «Система». Если вы используете Vista или 7, нажмите «Расширенные настройки системы»; если вы используете XP или 2000, выберите вкладку «Дополнительно». Нажмите «Переменные среды», найдите «Путь» или «ПУТЬ» в разделе «Системные переменные» и добавьте каталог Python bin в начало строки (он разделен точкой с запятой).

0 голосов
/ 21 августа 2009

Ваша переменная Filepath не соответствует тому, что вы на самом деле отправили в соответствии с выводом вашей программы. В сообщении об ошибке указывается «C: \ Documents and Settings \ user \ Desktop \bit.csv» с посторонним пробелом после имени профиля пользователя, что является наиболее вероятной причиной ошибки «Файл не найден».

0 голосов
/ 21 августа 2009
  1. Python на вашем пути? Скорее всего, я бы назвал его путем, чтобы точно определить, какой питон вы подбираете (если есть)
  2. Вам не нужны кавычки вокруг аргумента скрипта Python
0 голосов
/ 21 августа 2009

Вам не нужны все лишние кавычки.

String pythonScriptPath="C:\\Program Files\\bin\\CsvFile.py";

Это должно работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...