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

wxPython Discussion :

utiliser une variable de sortie dune fonction dans une autre fonction


Sujet :

wxPython

  1. #1
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 151
    Points : 43
    Points
    43
    Par défaut utiliser une variable de sortie dune fonction dans une autre fonction
    salut,
    jai une fonction relation lorsque j'appuis sur le bouton corespondant une liste7 va etre créer.je veux utliser cette liste 7 comme input d'une autre fonction analyse.mais la fonction analyse ne reconnait pas liste7.j'ai essayé avec self.liste7 sa ne marche pas non plus je ne sait pas comment faire.Voici les deux fonction:
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    def relations(self,event):
    		self.g1.Show(True)
    		liste=os.listdir(maissa.path1)
    		liste2=glob.glob(maissa.path1)
    		liste7=[]
    		liste4=[]
    		liste3=[]
    		liste_glob=[]
    		liste6=[]
    		f2=open("relation.txt",'w')
    		self.g1.SetRange(len(liste))
    		for i in range(len (liste)):
    			self.g1.SetValue(i)
    			wx.Yield()
    			self.textcount.SetLabel(str((100*i/len(liste)))+" %")
    			#****************************
    			path_s=liste2[0]+'\\' + liste[i]
    			if liste[i]=="KRN_ASW.H":
    				f1=open(path_s,'r')
    				liste_glob=relation_krn.proc3(liste_glob,f1)
    			if (('_fct' in liste[i]) and (liste[i].endswith('.c'))or ('_FCT' in liste[i])) and (liste[i].endswith('.C')):
    				liste3=tab5_fct.proc(liste3,path_s)
    			X=path_s.endswith("_SCH.C") or path_s.endswith("_SCH.c")or path_s.endswith("_sch.c")or path_s.endswith("_sch.C")
    			if X == True:
    				liste4=tab5_sch.proc2(liste4,path_s)
    		liste5=liste3+liste4
    		print "len de liste5 est ",len(liste5)
    		for i in range(len(liste_glob)):
    			liste = liste_glob[i]
    			for j in range(len(liste5)):
    				listea=liste5[j]
    				if liste[-1] == listea[0]:
    					a=liste+listea[1:len(listea)+1]
    					liste6.append(a)
    		i=0
    		cnt=0
    		while i <= len(liste6):
    			cnt=0
    			liste=liste6[i]
    			j=0
    			while j<=len(liste5):
    				listeb=liste5[j]
    				if ( liste[-1]==listeb[0] ):
    					b=liste+listeb[1:len(listeb)+1]
    					liste6.append(b)
    				j=j+1
    				if (j > len(liste5)-1):
    					break
    			i=i+1
    			if (i > len(liste6)-1):
    				break
    		print "len de liste6 est ",len(liste6)
    #****************************************************************************
    		k=0
    		cnt=0
    		while k <= len(liste6):
    				cnt=0
    				liste=liste6[k]
    				j=0
    				while j<=len(liste5):
    					listeb=liste5[j]
    					if ( liste[-1]!=listeb[0] ):
    						cnt=cnt+1
    					j=j+1
    					if (j > len(liste5)-1):
    						break
    				if cnt==len(liste5):
    					liste7.append(liste)
    					f2.write(str(liste)+'\n')
    				k=k+1
    				if (k > len(liste6)-1):
    					break
    		print "liste7 ",len(liste7)
    		self.textcount.SetLabel("100%")
    		dlg = wx.MessageDialog(self, 'Fin dexecution', 'Import relations', wx.OK|wx.ICON_INFORMATION)
    		dlg.ShowModal()
    		dlg.Destroy()
    		self.g1.Show(False)
    		self.textcount.Show(False)
                    return liste7
    def analyse(self,event):
    		path_dest3='analyse.txt'
    		liste22=[]
    	for j in range(len(liste7)):
    		x=listech[j]
    		for i in range(len(x)):
    			y=x[i]
    			for k in range(len(liste)):
    				if y in liste[k] and 'input' in liste[k]:
    					liste22.append(liste[k])
    			for z in liste22:
    				listez=z
    				prod_c_v1.test(liste,i,listez[1],x)
    			liste22=[]
    	prod_c_v1.test_cylce(liste7,path_dest3)

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 396
    Points
    396
    Par défaut
    Dans "def relations(self,event):" tu fais un "return liste7", donc il y a quelque chose qui la reçoit.

    Sinon, tu peux faire transiter ta "liste7" par un fichier (temporaire) ou par un objet et dans les deux cas monter ta "liste7" dans ta fonction "def analyse(self,event):". C'est, je pense, le plus simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/10/2014, 10h28
  2. récupérer les echo d'une fonction dans une variable
    Par CaviarNAS dans le forum Langage
    Réponses: 2
    Dernier message: 29/12/2009, 16h46
  3. Réponses: 5
    Dernier message: 04/12/2008, 15h58
  4. Réponses: 4
    Dernier message: 29/06/2008, 14h36
  5. Réponses: 5
    Dernier message: 09/06/2008, 08h57

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