Sacando cadenas de un archivo de texto...

Esteban Manchado Velázquez zoso en demiurgo.org
Mie Mar 12 11:11:00 CET 2003


On Wed, Mar 12, 2003 at 10:11:33AM +0100, Jordi Ivars wrote:
> [...]
> Pero no me acaba de convencer. Primero, porque coge todo el archivo de
> contraseñas y lo mete todo en una lista. Seria mas sencillo que como minimo
> hiciera una lista por linea. Y segundo porque seria mas sencillo que cogiera
> una palabra entre un retorno de carro \n y dos puntos y siempre sacaria el
> nombre de usuario y no tendria que meter todo en listas, no se si me explico
> suficientemente bien:)
> 
> [...]
> 
> --
> abrir=open(('/etc/samba/smbpasswd'),'r')
>  
> cadena=re.split('\:+', abrir.read())
> 
> print cadena[0] #Imprime el primer usuario
> print cadena[6] #Imprime el segundo usuario, etc	
> --

   Yo no sé mucho de Python, pero creo que la solución más elegante que suelen
comentar los expertos es algo como (no probado):

   import string
   abrir = open(('/etc/samba/smbpasswd'), 'r')
   for linea in abrir:
      datos = string.split(':', linea)
      print datos[0] # Nombre
      print datos[1] # UID
      # ...

Si no es así, ya saltará alguien ;-) Saludos,

-- 
Esteban Manchado Velázquez <zoso*demiurgo*org> - http://www.demiurgo.org
No software patents in Europe! - freepatents.org - proinnova.hispalinux.es
Join Amnesty International - http://www.amnesty.org/actnow




Más información sobre la lista de distribución Python-es