Rechercher : dans
Par :

[JAVA] lancer un script Python

Dernière réponse le 6 avr 2008 à 21:00:38 calaglin2, le 6 avr 2008 à 17:57:34 
 Signaler ce message aux modérateurs

Bonjour,
j'aimerais lancer un script Python utilisant la librairie scapy depuis un programme java, mais je n'y arrive pas :

1) la méthode exec de Runtime ne le lance pas (je trouve ça bizarre, ça lance bien les shell pourtant)
2) j'ai même utilisé Jython, mais ce dernier (même s'il est vraiment pratique) me sort un message d'erreur à cause de scapy

donc impossible de lancé mon script, pouvez vous m'aider svp


mon code python :

#!usr/bin/python

from scapy import *


ip_src=sys.argv[1]
ip_dst=sys.argv[2]
dst=sys.argv[3]



while 0<1:
sn=sniff(filter="src "+ip_src+" and dst "+ip_dst,count=1)
sn[0].dst=dst
sendp(sn[0])



une partie du code java :


import org.python.util.InteractiveInterpreter;
import org.python.util.PythonInterpreter;

...

interp = new InteractiveInterpreter();
Properties props = new Properties();
//Le chemin des librairies python
props.setProperty( "python.path", "lib/Lib" );
PythonInterpreter.initialize( System.getProperties( ), props, new String[]{""});

...

public void executeScript(String fileName)
{
try
{
interp.cleanup();
interp.execfile( fileName );
}
catch(Exception e)
{

}
}

...

executeScript("test.py");



mon message d'erreur quand je lance le script :


>jython forward.py 185.168.5.4 198.165.7.5 00:22:55:44:66:88

Traceback (innermost last):
File "forward.py", line 3, in ?
File "C:\Documents and Settings\pierre henri\Bureau\code\scapy.py", line 928
xx = sum(len(k) for k in linex)
^
SyntaxError: invalid syntax


Je tiens à préciser que le scripts marche parfaitement avec python, c'est avec jython qu'il ne marche pas
Est-ce qu'il y aurait un autre moyen de lancer le script ?
merci d'avance

Configuration: Windows XP
Firefox 2.0.0.13

Meilleures réponses pour « [JAVA] lancer un script Python » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Supprimer les anciennes versions de Java avec JavaRa VoirJavaRa A propos de la gestion des machines virtuelles Java Présentation de JavaRa Exemple de rapport émis par JavaRa A propos de la gestion des machines virtuelles Java Pour des mises à jour ciblées de java Sun a finalement donné une...
Lancer une application automatiquement VoirVous désirez allumer votre ordinateur sans avoir ensuite à ouvrir Windows Mail, Thunderbird ou n'importe quelle autre application ? Cette astuce est faite pour vous ! Pour expliquer, je vais prendre un cas simple : le démarrage de Windows...
Java - Les exceptions VoirLa nécessité de détecter les erreurs Tout programme comporte des erreurs, même si celui-ci semble fonctionner à merveille. Chaque programmeur essaye de réduire au minimum le nombre d'erreurs, mais toutes les erreurs ne peuvent pas forcément être...

1

 calaglin2, le 6 avr 2008 à 21:00:38

J'ai trouvé une solution pour contourner jython, c'est de lancer le script depuis un script dos ou shell qui lui même est lancé depuis le programme java avec exec de Runtime.
Le problème est que le code n'est plus portable...

Si quelqu'un trouve une autre solution je suis preneur

merci

Répondre à calaglin2
Collection CommentÇaMarche.net