Enregistrer une liste de commande pour les reexecute plus tard
Bonjour,
j'ai un petit soucis avec EVAL(),
Objectif: enregistrer des commandes dans un fichier, puis les exécuter plus tard, dans le même ordre et avec les même paramètres.(record/play)
voila mon script
Code:
1 2 3 4 5 6 7 8
|
class Myclass():
def funct_1(self):
print "function one"
def funct_2(self, param1):
x = parm1 + 1
print x |
puis:
Code:
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
|
import Myclass
class Saver():
def __init__(self):
global _obj
_obj = Myclass()
def getListCmd(self):
"""Recupere la liste des commandes a enregistre
"""
cmd = []
m_cmd =""
print """
tapez les commandes que vous voulez rajouter au fichie
"""
while (m_cmd != "end"):
m_cmd = raw_input(sys.ps1)
if m_cmd != "end":
m_dict = _obj.__class__.__dict__
list_cmd = eval(m_cmd,m_dict)
cmd.append(list_cmd)
self.log.info("add test %s "%list_cmd)
return cmd
def save(self,m_file):
fichier = open(m_file, "wb")
self.log.info("Creat record file %s "%m_file)
self.list_scenario_record = self.getListCmd()
cPickle.dump(self.list_scenario_record, fichier)
self.log.info("End record ")
fichier.close() |
en executant , j'ai ce message d'erreur:
Citation:
TypeError: funct_1() takes exactly 1 argument (0 given)
ben le seul argument est "self" donc sans argument .
avez vous une idée???