transformer une chaine en nom de fonction
ayant commencer depuis peu le langage python , j'aimerai savoir si il est possible de concaténer une chaine pour qu'elle puisse entre reconnu comme une fonction valide .
Source en python 3.1
ex :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
def ScriptStepNum_1(ScriptDateStamp): #Step1
# Step1
print ('step1')
def ScriptStep_2(ScriptDateStamp):# Step2
# Step2
print ('step2')
....
while (ScriptStepNum < ScriptNbStep):
ScriptStepNum=+1
UDateNow=UniversalDateStamp() #appelle fonction Chrondata
StartedTimeScript=UDateNow[0]
CallStepArg='\''+StartedTimeScript+'\''
CallStep='ScriptStepNum_'+StrScriptStepNum
print (CallStep+'('+CallStepArg+')')
RetStep=CallStep._call_(CallStepArg)
print ('RetStep :'+str(RetStep[0]))
print ('RetStep :'+str(RetStep[1])) |
en utilisant le ._Call_ une erreur m'est retourné :
File "Y:\Script test\ScriptCheckRep\ImportEveQuote.py", line 135, in <module>
RetStep=CallStep._call_(CallStepArg)
AttributeError: 'str' object has no attribute '_call_'
existe il une manière de pouvoir appeler une fonction via son nom en variable ?