Error en python
Daniel González
ikarush en gmail.com
Lun Nov 24 13:12:27 CET 2008
Hola a todos.
No encuentro cual es el error y la información de salida no me aporta demasiado.
El objetivo es crear una clase capaz de leer un fichero y obtener las
direcciones de correo contenidas en el.
El código es el siguiente :
/email_parser.py
# This Python file uses the following encoding: utf-8
import re
class parser:
# Esta clase se encarga de administrar un array con las cuentas
# de correo electronico.
# Almacena las direcciones
emails = []
# Contenedor de una RE
mailRE = ""
# Contiene el total de coincidencias
emails_total = 0
# Contiene el total de lineas leidas
lines_total = 0
# Contine el numero de ficheros
files_total = 0
def __init__ (self):
# Despliege de una expresion regular de email
mailRE = re.compile(r'[\w\-][\w\-\.]+@[\w\-][\w\-\.]+[a-zA-Z]{1,4}')
def readfile ( file , self ):
# Inicializamos las variables parciales
parcial = 0
lines_parcial = 0
mail = ""
self.files_total = self.files_total + 1
print " Reading file : " + str (file)
file = open ( file , 'r')
for line in file:
lines_parcial = lines_parcial + 1
# Coincidencias con la RE
for mail in self.mailRE.findall(line):
emails_parcial = emails_parcial + 1
mail = mail.lower()
self.mailRE.append (mail)
# Lectura terminada, mostramos estadisticas
print " file : " + str (file) + " [ok] "
print " lines : " + str (lines_parcial)
print " emails : " + str (emails_parcial)
# Y aᅢᄆadimos las estadisticas parciales al total
self.files_total = self.files_total + 1
self.emails_total = self.emails_total + emails_parcial
self.lines_total = self.lines_total + lines_parcial
def sort (self):
u = {}
item = ""
print " Ordenando y filtrando los resultados "
# Ordenamos el array
self.emails.sort()
# Eliminamos los duplicados
for item in self.emails:
u[item] = 1
self.emails = u
def write (file , self ):
item = ""
print " Guardando en el fichero " + str (file)
file = open ( file , 'w' )
for item in self.emails:
file.writelines ( item + "\n")
lo invoco de la siguiente manera:
/main.py
This Python file uses the following encoding: utf-8
import email_parser
parser = email_parser.parser()
parser.readfile('/home/dgonzalez/eclipse-workspaces/ReEmail/Inbox')
y el sistema reponde :
File "/home/dgonzalez/python-workspaces/Search
Mails/src/search_mails/email_parser.py", line 36, in readfile
self.files_total = self.files_total + 1
AttributeError: 'str' object has no attribute 'files_total'
pero no entiendo cual es el error.
¿Pueden ayudarme?
Daniel González Cerviño
tel 653965048
ikarush en gmail.com
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es