Passage de procedure en paramètre du autre procedure

Résolu
cs_MHI Messages postés 110 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 19 février 2009 - 16 nov. 2004 à 12:02
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 - 25 nov. 2004 à 12:57
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

cs_rodrigos Messages postés 84 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 4 avril 2006 2
16 nov. 2004 à 14:27
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
3
cs_MHI Messages postés 110 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 19 février 2009 1
16 nov. 2004 à 16:27
Merci cela fonctionne très bien.
j'ai mis :

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

comme fich est une variable

je te remercie
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
25 nov. 2004 à 12:57
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
0
Rejoignez-nous