bonjour,
j'ai créer une classe avec deux arguments sur le constructeur, lorsque j'essaie de l'utiliser j'ai comme message d'erreur :
>>> b = MyLog(12,25)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
b = MyLog(12,25)
TypeError: 'module' object is not callable
avec un exemple du livre de G Swinnen cela fonctionne,
ou avec un exemple de mon cru
Code Python :
class Taz:
def __init__(self,un=None,deux=None):
print('dans le constructeur')
cela donne
>>> x = Taz('1',2)
dans le constructeur
>>>
Je ne vois pas la différence.
Pouvez vous m'indiquez mon erreur.
Merci
@+
le code :
Code Python :
import time
import os
class MyLog:
"Gestion des log"
def __init__(self,Pathfile=None,FileName=None):
# on creer un objet time
self.temps = time
if FileName == None:
# Le nom est vide on initialise avec le timestamp
self.FileLog = 'Kersave'+ str(int(self.temps.time())) + '.log'
# ou self.FileLog = 'Kersave'+ str(int(self.temps.strftime("%Y%m%d%H%M%S")) + '.log'
else:
self.FileLog = FileName
if os.path.isdir(PathFile):
self.FileLog = PathFile + self.FileLog
else:
# Ail le chemin n'existe pas ou n'est pas bon, on fait quoi ? un log dans c:\temp
if not os.path.isdir('c:\temp'):
os.mkdirs('c:\temp')
PathFile = 'c:\temp\\'
self.FileLog = Pathfile + self.FileLog
def __del__(self):
#destructeur
sefl.close_file()
def open_file(self):
# creation du fichier de log
self.file = open(self.FileLog,'a')
def close_file(self):
# Fermeture du fichier de log
self.file.close()
def add_log(self,text):
# Ajout d'information dans le log
# Formatage [date] texte self.temps.strftime("[%d/%m/%Y %H:%M:%S]"
self.file.write(self.temps.strftime("[%d/%m/%Y %H:%M:%S]") + ' ' + text + '\r\n')
def view_log(self):
# Affiche le log
self.close_file()
f = open(self.FileLog,'r')
txt = ''
while 1:
tmp = f.readline()
if tmp == '':
break
txt = txt + tmp
f.close()
print(txt)
# pkoi pas un return txt plus tard ?
def clear_file(self):
# destruction du fichier on le vide mais le garde ouvert (pour le cas ou ;))
self.close_file()
a = open(self.FileLog,'w')
a.close()
self.open_file()
# fin de la classe