Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Arnau27 en 1 Junio 2012, 20:35 pm



Título: [Python] Nueva duda - Saber los archivos que hay en una carpeta
Publicado por: Arnau27 en 1 Junio 2012, 20:35 pm
ls=linux
dir=windows
Buenas, he estado buscando, y no encuentro solución. Espero recibir alguna  :rolleyes:
Necesito saber los archivos que hay en una carpeta y añadirlos a una lista. Pense utilizar os.system pero se añade todo a la lista como un solo elemento.

"ls" en python?


Título: Re: [Python]Saber los archivos que hay en una carpeta
Publicado por: criskapunk en 2 Junio 2012, 05:06 am
Buenas,

Código
  1. import os
  2.  
  3. # En 'ficheros' se guarda una lista con todos los elementos del directorio
  4.  
  5. ficheros = os.listdir(r'C:\Python27')
  6.  
  7. # Recorremos la lista
  8. # Eliminamos todo lo que NO sea un archivo
  9.  
  10. for i in ficheros:
  11.  if not os.path.isfile(i):
  12.    ficheros.remove(i)

Eso te devuelve una lista con todos los archivos de una carpeta.

Un saludo.


Título: Re: [Python]Saber los archivos que hay en una carpeta
Publicado por: Arnau27 en 2 Junio 2012, 12:54 pm
Gracias crack.


Título: Re: [Python]Saber los archivos que hay en una carpeta
Publicado por: Arnau27 en 9 Junio 2012, 00:40 am
Buenas,

Código
  1. import os
  2.  
  3. # En 'ficheros' se guarda una lista con todos los elementos del directorio
  4.  
  5. ficheros = os.listdir(r'C:\Python27')
  6.  
  7. # Recorremos la lista
  8. # Eliminamos todo lo que NO sea un archivo
  9.  
  10. for i in ficheros:
  11.  if not os.path.isfile(i):
  12.    ficheros.remove(i)

Eso te devuelve una lista con todos los archivos de una carpeta.

Un saludo.

Buenas, no consigo entender porque el script me pinta los archvos repetidas veces. Espero que me puedan ayudar :S

Código
  1. l=[]
  2. n=0
  3. def vi():
  4. n=0
  5. while n<len(l):
  6. print(n, "-", l[n])
  7. n=n+1
  8.  
  9. ficheros=os.listdir("/Users/Arnau/desktop")
  10.  
  11.  
  12. for i in ficheros:
  13. if not os.path.isfile(i):
  14. ficheros.remove(i)
  15. l.append(i)
  16. vi()

Creo que es porque los elementos se añaden a la lista repetidas veces pero no entiendo porque se añaden mas de una vez...


Título: Re: [Python] Nueva duda - Saber los archivos que hay en una carpeta
Publicado por: .:WindHack:. en 11 Junio 2012, 05:27 am
Puedes echarle un vistazo a esto, quizá te sirva.

http://foro.cibernodo.net/tema-c%C3%B3digo-listar-archivos-en-un-directorio

Saludos.,