[Python]Exécuter 1 prog gourmand +ieurs fois [Résolu/Fermé]

Signaler
Messages postés
26
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
2 juin 2010
-
Messages postés
26
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
2 juin 2010
-
Boujours tt les programmeurs,

Je vais détailler le problème pour qu'il soit très clair et simple. svp patientez :)

J'ai écrit 1 programme python "stage.py"qui donne en sortie un .txt où il y a des trucs (peu importe). Ce programme est gourmand en RAM. Si j'augmente la valeur d'un paramètre de plus de 1500, le programme fonctionne puis m'affiche "Ressources insuffisante...".

J'ai eu l'idée d'exécuter "stage.py" plusieurs fois avec:
- un paramètre de faible valeur
- en créant au début un fichier .txt puis en continuant son remplissage chaque fois (càd sans l'écraser).

Pour se faire, j'ai écrit "stage2.py" où il y a:
import stage
for i in range(10):
       stage.myfunc()      # myfunc est la fonction principale de "stage.py" 


Le problème reste le même: "Ressources insuffisante..."

Est-ce que quelqu'un a une idée comment je peut m'en sortir?




PS: j'ai eu une autre idée d'ouvrir python.exe et écrire:
>>> for i in range(10):
        ......(ici j'appelle stage.py)

mais j'ai pas su comment le faire :p

2 réponses

Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 517
Faudrait voir le code qui provoque ça en fait.
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 517
C'est que la lib que tu utilises est buggée, ya pas de raison qu'un breakpoint et une lecture de valeur dans la mémoire génére un problème comme celui-là.

Quoique, faire ça un grand nombre de fois...
Messages postés
26
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
2 juin 2010
1
kilian, je crois que j'ai localisé le problème. Quand j'ouvre mon programme stage.py avec IDLE (python GUI) et je fais "run", il y a autant de fenêtres noires (celles de l'invite de commande de windows) qui s'ouvrent que le nombre que je donne en paramètre.
A priori, mon programme stage.py exécute le .exe et le laisse ouvert (après avoir lui mettre un breakpoint). Ainsi, la RAM se consomme énormémant en fonction du nombre de fois que stage.py exécute le .exe

La question maintenat est: y'a-t-il des commandes python pour fermer un .exe qui est arrêtré sur un breakpoint?
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 517
Ca dépend, tu utilises quoi comme librairie pour faire ce débuggage?
Messages postés
26
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
2 juin 2010
1
pydbg
Messages postés
26
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
2 juin 2010
1
Slt kilian et tt le monde,

BINGO! J'ai résolu le problème. Juste un petit truc m'échappait: j'ai oublié de supprimer le breakpoint à chaque fois et de termier l'exécution du .exe

Maintenant, stage.py fonctionne parfaitement et aucun message de "ressources insuffisantes..." n'est affiché.

Bye
Messages postés
26
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
2 juin 2010
1
Alors, en résumé: mon problème était de manque de RAM lorsque j'exécute un programme .py qui fait appel plusieurs fois à un .exe, lui fait un breakpoint et extrait une valeur de la mémoire.

Ce que j'ai constaté c'est que dans chaque exécution du .py, il'ya des fenêtres d'invite de commade qui s'ouvrent et ne se ferment pas! Donc, j'ai sû qu'il faut terminer l'exécution d'un .exe avant de passer à l'appel de l'autre, ceci se fait par la suppression du braekpoint:
 myhandle.bp_del(address)
 myhandle.terminate_process()