IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Intégrer un script python dans du code java


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 38
    Points
    38
    Par défaut Intégrer un script python dans du code java
    Bonjour à tous,

    je dois intégrer un script python au coeur d'un code java en utilisant ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String [] cmd2 = new String[]{commande python, arguments = X Y)};
    A l'aide de cette commande 2 je dois pouvoir importer mon script python puis lui passer mes différents arguments (X,Y ect....) cependant je n'ai aucune idée de la manière dont je dois importer ce script, je pensais faire un "import nom_de_mon_script" mais dans la partie "commande python" je met quoi ?
    Le script en python est une fonction permettant l'affichage de motifs en prenant 2 arguments en entrée.

  2. #2
    Membre habitué
    Homme Profil pro
    SAQ
    Inscrit en
    Novembre 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : SAQ
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2005
    Messages : 167
    Points : 194
    Points
    194
    Par défaut
    Pas très claire comme question

    Peut-être voir au niveau de JYton qui est une Saveur de python dont le code peut rouler sur la VM JAVA
    Si derrière tout homme il y a une femme, devant ce même homme il y a l'ordinateur que cette femme a bousillé
    ---------

    Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing. (Dick Brandon)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 38
    Points
    38
    Par défaut
    En fait peu importe la méthode j'aimerai pouvoir executer mon script python, j'ai lu quelque tuto sur Jython et j'ai peur que ce soit trop complexe, n'y aurait'il pas une autre solution ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Euh... Java c'est pour programmer en Java, hein... On peut appeler des scripts en d'autres langages, mais la liaison est un peu compliquée, forcément.
    Surtout que Python n'est pas un des langages de scripts intégrés à Java.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 38
    Points
    38
    Par défaut
    Donc je peux abandonner l'idée d'importer mon script Python dans mon code java ?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Comme tu veux, mais... Tu trouveras pas plus simple que Jython.

    Juste pour info : une fois que la bibliothèque Jython est en place, ça peut s'appeler comme ça : http://wiki.python.org/jython/UserGuide#using-jsr-223
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 38
    Points
    38
    Par défaut
    merci pour votre réponse, je viens d'installer Jython à l'instant, les seules librairies dont j'ai besoin sont donc celles de l'exemples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    import javax.script.ScriptException;
    ?

    Le problème c'est que dans mon fichier java il n'y a pas de main (alors que c'est à l'interieur de celui ci qu'on appel notre script si j'ai bien compris).

    Voici l'extrait du code ou j'aimerais appeler mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    						String line = "";
    						setOutput("");
    						try {
    							while((line = reader.readLine()) != null) {
    								/** Outpuut stream processing of miRNAFold **/
    								Rrrr R1 = new Rrrr(line);
    								PyhtonScriptInterpreter interpreter = new PyhtonScriptInterpreter();
    								String motifs = interpreter.executeScript("alignement_final.py " + R1.getresult());
    								//String [] cmd2 = new String[]{      ,R1.getresult()};
    								 motifs = getOutput2();
    								setOutput( getOutput()+"<br>"+line+"<br>"+ getOutput2());
    							}
    						} finally {
    							reader.close();
    						}
    					} catch(IOException ioe) {
    						ioe.printStackTrace();
    					}


    Je fais appel a ma classe Rrrr qui me permet de récupérer des arguments que j'aimerai ensuite passer a mon script python pour qu'il s'execute et qu'il me renvoie des résultats (getoutput2).

    Je vais modifier ma ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     PyhtonScriptInterpreter interpreter = new PyhtonScriptInterpreter();
    qui est inutile, mais je voulais vous montrer la stratégie que je voudrais employer (globalement).


    EDIT : en fait je pense que l'importation devrait se faire dans ma classe Rrrr directement je pense, là où se situe mon main, voici cette classe (je viens d'y importer les différentes librairies):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    package paquet;
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    import javax.script.ScriptException;
     
     
    public class Rrrr {
     
    	/**
             * @param args
             * 
             * 
             **
             */ 
    	private String positionDebut; 
    	private String positionFin;
    	private String Fin;
     
    	public Rrrr (String ligne){
     
     
     
     
    		String[] valeur = ligne.split(" ");  
     
    		if (valeur.length >= 3) {
    		   this.positionDebut=valeur[0];
    		    this.positionFin=valeur[1];
    		    this.Fin = valeur[valeur.length - 1];
    		}
     
    		}
     
    	  public String getresult(){
     
    		 String result = this.positionDebut + " " + this.positionFin + " "+  this.Fin ;
    		  return result;
     
    	  }
     
    	public static void main(String[] args) {
     
     
     
     
    		//String ligne ="53 130 + [-27.3] ((((.(.(((((((.((..((((.........(((..(((....))).)))...))))..)).))))))).)..)))";
     
    		//Rrrr test = new Rrrr(ligne);
     
    }
    }
    Merci encore

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 38
    Points
    38
    Par défaut
    Mon cas est un peu compliqué en fait, je voudrais savoir si quelqu'un avait déjà réussis a importer un simple script python dans son code java et a le faire tourner, et si oui la procédure qu'il a utilisé car je suis le tutoriel suivant:
    http://wiki.python.org/jython/UserGuide#using-jsr-223

    seulement je ne vois pas l'importation d'un script mais plutôt la définition d'un script même a l'intérieur du code, de plus lorsque j'essaie d'exécuter ce code je reçois le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "main" java.lang.NullPointerException
    apparemment le import sys ne passe pas :/

    Bref si quelqu'un possédant une experience de Jython pouvait m'aider

Discussions similaires

  1. Intégrer un package C dans un code Java
    Par ysahel dans le forum Réseau
    Réponses: 1
    Dernier message: 19/02/2015, 00h31
  2. SWIG probleme pour lancer le script python dans mon code C++ et récupérer un objet
    Par spartan811 dans le forum Interfaçage autre langage
    Réponses: 3
    Dernier message: 11/05/2012, 16h23
  3. Script Shell dans un code java
    Par chercheur111 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 08/04/2012, 15h32
  4. Intégrer du scripting Python dans un autre programme
    Par ProgVal dans le forum Interfaçage autre langage
    Réponses: 3
    Dernier message: 03/07/2010, 13h52
  5. Intégrer un script python dans une page Web
    Par Mysti¢ dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 02/11/2006, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo