validation et pre-compilation de scripts

validation et pre-compilation de scripts - Python - Programmation

Marsh Posté le 02-04-2003 à 09:38:00    

bonjour,
 
Je voudrais utiliser pyhton pour permettre de scripter une application C++. L'idée est la suivante:
   - je dispose d'un ensemble de scripts pyhton
   - l'application initialise l'interpreteur python
   - quand on veut utiliser un script, on commence par vérifier sa validité
   - s'il est valide, alors on le 'pré-compile' une fois. Chaque utilisation utilisation ultérieure utilisera cette version pré-compilée, sauf bien entendu si on force une nouvelle pre-compilation
 
 
Dans ce cadre, je me demande s'il est possible de:
   - valider un script python sans pour autant l'executer, ceci dans le but de pouvoir le valider avant de d'accepter son exceution
   - de precompiler un script, car si on veut utiliser le même script un grand nombre de fois et si une pre-compilation est possible, c'est autant de temps de temps de gagné qui peut être affecté à une autre tâche!
 
 
Cela vous semble-t-il possible?
Merci d'avance.
 

Reply

Marsh Posté le 02-04-2003 à 09:38:00   

Reply

Marsh Posté le 02-04-2003 à 09:58:10    

sowhatin22 a écrit :


   - valider un script python sans pour autant l'executer, ceci dans le but de pouvoir le valider avant de d'accepter son exceution


pas totalement. tu peux valider la syntaxe, mais t'as aucun moyen de savoir qu'il va pas se vautrer a l'execution
 

sowhatin22 a écrit :


   - de precompiler un script, car si on veut utiliser le même script un grand nombre de fois et si une pre-compilation est possible, c'est autant de temps de temps de gagné qui peut être affecté à une autre tâche!


L'interpreteur "de base" le fait, donc c'est forcément possible.
http://python.org/doc/current/lib/ [...] mpile.html

Reply

Marsh Posté le 02-04-2003 à 10:06:49    

lorill a écrit :


pas totalement. tu peux valider la syntaxe, mais t'as aucun moyen de savoir qu'il va pas se vautrer a l'execution


ok. Comment faire alors pour la syntaxe?
 

lorill a écrit :


L'interpreteur "de base" le fait, donc c'est forcément possible.
http://python.org/doc/current/lib/ [...] mpile.html


ok, je viens en effet de trouver cette doc.
 
Merci de tes réponses.

Reply

Marsh Posté le 02-04-2003 à 10:17:04    

sowhatin22 a écrit :


ok. Comment faire alors pour la syntaxe?


si tu veux faire simple, y'a qu'a tenter de précompiler, si ca marche la syntaxe est correcte, si ca rate c'est que c'est pas bon.  [:sinclaire]  
 
y'a probablement moyen de faire mieux, mais je suppose que c'est suffisant, vu que tu veux de toutes façons compiler apres

Reply

Marsh Posté le 02-04-2003 à 11:16:48    

lorill a écrit :


si tu veux faire simple, y'a qu'a tenter de précompiler, si ca marche la syntaxe est correcte, si ca rate c'est que c'est pas bon.  [:sinclaire]  
 
y'a probablement moyen de faire mieux, mais je suppose que c'est suffisant, vu que tu veux de toutes façons compiler apres


je viens de faire l'essai.
parsing:
   - module: compiler / fonction: parse
 
compilation:
   - module: compiler / fonction: compileFile
 
ca fonctionne.
par contre, le parsing ne génère pas d'exception même si la syntaxe n'est pas correcte. Ce n'est qu'à la compilation qu'une exception est générée si la syntaxe est mauvaise.
 
J'ai essayé avec la fonction compile du module py_compile: ça compile bien, mais je n'arrive pas a catcher d'exception en cas d'erreur, et le script s'interrompt. Je vais donc plutôt utiliser les fonctions du module compiler.
 
voili.
et encore merci.  

Reply

Marsh Posté le 02-04-2003 à 11:25:45    

Il me semble que IDLE refuse de sauvegarder un fichier si il trouve une erreur syntaxique...
 
(mes deux euros cents)
 
EDIT: oups, nan j'ai dis une grosse connerie la :D  
Pas très reveillé moi...


Message édité par e_esprit le 02-04-2003 à 11:29:34
Reply

Marsh Posté le 09-05-2003 à 17:29:48    

pychecker

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed