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
puis:
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
en executant , j'ai ce message d'erreur:
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()
ben le seul argument est "self" donc sans argument .TypeError: funct_1() takes exactly 1 argument (0 given)
avez vous une idée???
Partager