2009-08-21 5 views
0

Lorsque j'exécute un script python à partir du code java ci-dessous, où un fichier d'entrée est donné en argument au script python ainsi qu'une option "-v", j'obtiens une exception IOExceptionProblème lors de l'exécution du script python dans le code java

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); 

Voici l'erreur:

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) 

quelqu'un peut-il s'il vous plaît laissez-moi savoir comment résoudre cette exception.

Vous Remerciant, Harsha

Répondre

0

Vous n'avez pas besoin de toutes les citations supplémentaires.

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

Cela devrait fonctionner correctement.

0
  1. Est-ce que Python est votre chemin? Je très probablement se qualifier avec un chemin pour déterminer avec précision que vous python êtes ramasser (le cas échéant)
  2. Vous ne avez pas besoin des guillemets autour de l'argument de script Python
2

error=2 signifie que la fonction Win32 CreateProcess renvoie un code d'erreur de 2 ou ERROR_FILE_NOT_FOUND. Soit il ne peut pas trouver votre script, ou (plus probablement, OMI) il ne peut pas trouver python.exe. Si c'est le dernier, assurez-vous que votre installation Python (éventuellement C:\Program Files\Python\bin, bien que je ne sois pas sûr) est dans le chemin de votre système.

Vous pouvez changer le chemin de votre système en allant dans le Panneau de configuration et en ouvrant "Système". Si vous utilisez Vista ou 7, cliquez sur "Paramètres système avancés"; Si vous utilisez XP ou 2000, choisissez l'onglet "Avancé". Hit "Variables d'environnement", trouver "Path" ou "PATH" sous "Variables système" et ajouter votre répertoire Python bin au début de la chaîne (il est délimité par des points-virgules).

0

Votre variable Filepath ne correspond pas à ce que vous avez réellement envoyé en fonction de la sortie de votre programme. L'erreur le répertorie comme "C: \ Documents and Settings \ utilisateur \ Desktop \ arbit.csv" avec un espace supplémentaire après le nom de profil utilisateur qui est la cause la plus probable d'une erreur Fichier introuvable.

Questions connexes