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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
 
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:
TypeError: funct_1() takes exactly 1 argument (0 given)
ben le seul argument est "self" donc sans argument .
avez vous une idée???