Bonjour,

python 2.6 / Win7 / Pyscripter

Je souhaite faire tourner une boucle infinie dans mon application et récuperer des valeurs dans un fichier Txt. Je vous apporte une version edulcorer de mon code.
L'ennui, c'est que mon application plante au bout d'un certain nombre de boucle.
Au début, je pensais que cela pouvait provenir de ma fonction "EcrireDansFichier()". Mais non, car si je neutralise l'accès à cette fonction, j'observe le même phénomène. Curieusement, je n'ai aucun message d'erreur provenant de Pyscriter...
Le plantage m'est indiqué par le gestionnaire des tâches... qui me dit que mon application ne répond plus
Le nombre de boucle n'est pas constant, je ne comprends pas d'où ça peut provenir. A priori, j'ai pas l'impression d'avoir réinventer l'eau tiède avec mon code ^^
Si quelqu'un à une explication à me fournir, je suis preneur.
Merci pour vos réponses

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
52
53
54
55
56
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
 
import wx
 
class Bonjour(wx.Frame):
    def __init__(self, titre):
        wx.Frame.__init__(self, None,-1, title = titre, size = (200, 100))
        conteneur = wx.Panel(self,-1, size = self.GetClientSize())
        etiquette = wx.StaticText(conteneur,-1, "Bonjour tout le monde !",
                                   style = wx.ALIGN_CENTRE)
        etiquette.CentreOnParent()
 
class MonApp(wx.App):
    def OnInit(self):
        fen = Bonjour("Exemple 1")
        fen.Show(True)
        self.SetTopWindow(fen)
 
        Nbre_Partie = 0
        Game_en_cours = []
 
        while True: # Boucle infini
           Nbre_Partie = Nbre_Partie + 1
           Game_en_cours = Game(Nbre_Partie)
 
        return True
 
###---------------------------------------------------------------------------------------------
def Game(Nbre_Partie):
###---------------------------------------------------------------------------------------------
 
    # Initialisation
    Partie_en_cours = []
 
    FichierDebugPartie = '/Fichier_Debug_Partie.txt'
 
##---------------à Supprimer après Debug -----------------------------------------------------------------------------------
    EcrireDansFichier(FichierDebugPartie, "\n\n---------------------------------------------------------------------------")
    EcrireDansFichier(FichierDebugPartie, "-----  Nbre_Partie :  " + str(Nbre_Partie) + " ---------------------------------------------------")
    EcrireDansFichier(FichierDebugPartie, "---------------------------------------------------------------------------")
##---------------à Supprimer après Debug -----------------------------------------------------------------------------------
 
    return Partie_en_cours[:]
 
 
###-------------------------------------------------------------------------
def EcrireDansFichier(nomF1, ligne1):
    """     Ecrit "ligne" dans le Fichier "nomF" """
###-------------------------------------------------------------------------
    of1 = open(nomF1, 'a')
    of1.write(ligne1 + '\n')
    of1.close()
 
app = MonApp()
app.MainLoop()