Passage de procedure en paramètre du autre procedure

[Résolu]
Signaler
Messages postés
110
Date d'inscription
jeudi 7 octobre 2004
Statut
Membre
Dernière intervention
19 février 2009
-
Messages postés
179
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
21 mai 2014
-
Bonjour,
Comment pourrais-je faire pour passé une procedure en paramètre à une autre pour quelle l'excécute. sachant que la procedure à passer à un paramètre qui n'est passé que dans la procedure qui va lancé la procedure en paramètre. Pas clair alors voir le petit exemple tous con si dessous

merci d'avance

import os

def saveR(s):
fic = open('texte.txt','w')
fic.write(s)
fic.write('\n')
fic.close()

def General(proc):
proc('toto')

if __name__ == '__main__':
General('saveR()')

3 réponses

Messages postés
84
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
4 avril 2006
2
essai plutôt ça

import os

def saveR(s):
fic = open('c:\\texte.txt','w')
fic.write(s)
fic.write('\n')
fic.close()

def General(proc):
exec(proc + "('toto')")


if __name__ == '__main__':
General('saveR')

chez moi ça marche bien
Messages postés
110
Date d'inscription
jeudi 7 octobre 2004
Statut
Membre
Dernière intervention
19 février 2009

Merci cela fonctionne très bien.
j'ai mis :

exec(proc + "('" + fich + "')")

comme fich est une variable

je te remercie
Messages postés
179
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
21 mai 2014
3
tu peux aussi utilser ceci...

3.3.4 Emulating callable objects

__call__( self[, args...])
Called when the instance is ``called'' as a function; if this method is defined, x(arg1, arg2, ...) is a shorthand for x.__call__(arg1, arg2, ...).

http://www.python.org/doc/2.3.4/ref/callable-types.html