Puede usar ftplib para soporte completo de FTP en Python. Sin embargo, la mejor forma de conseguir un listado de directorio es:Usando el ftplib de Python para obtener una lista de directorios, portably
# File: ftplib-example-1.py
import ftplib
ftp = ftplib.FTP("www.python.org")
ftp.login("anonymous", "ftplib-example-1")
data = []
ftp.dir(data.append)
ftp.quit()
for line in data:
print "-", line
que produce:
$ python ftplib-example-1.py
- total 34
- drwxrwxr-x 11 root 4127 512 Sep 14 14:18 .
- drwxrwxr-x 11 root 4127 512 Sep 14 14:18 ..
- drwxrwxr-x 2 root 4127 512 Sep 13 15:18 RCS
- lrwxrwxrwx 1 root bin 11 Jun 29 14:34 README -> welcome.msg
- drwxr-xr-x 3 root wheel 512 May 19 1998 bin
- drwxr-sr-x 3 root 1400 512 Jun 9 1997 dev
- drwxrwxr-- 2 root 4127 512 Feb 8 1998 dup
- drwxr-xr-x 3 root wheel 512 May 19 1998 etc
...
supongo que la idea es analizar los resultados para obtener el listado de directorios. Sin embargo, esta lista depende directamente de la manera en que el servidor FTP formatee la lista. Sería muy complicado escribir código para tener que anticipar todas las formas diferentes en que los servidores FTP podrían formatear esta lista.
¿Hay alguna manera portátil de obtener una matriz con la lista del directorio?
(La matriz debe tener sólo los nombres de las carpetas.)
¡Oh, bien visto en el 550! Upvoted. :) –
sí, esto responde la pregunta, y creo que es genial, pero no es una respuesta totalmente ampliable. ¿y si necesito un objeto de archivo con propiedades? no ser pesimista, pero sería útil. –
Gracias por esto. 5 años después: obsoleto desde la versión 3.3: use mlsd() en su lugar. –