Python tiene un módulo de biblioteca estándar ftplib
para ejecutar comunicaciones FTP. Tiene dos formas de obtener una lista de los contenidos del directorio. Uno, FTP.nlst()
, devolverá una lista de los contenidos de un directorio dado un nombre de directorio como argumento. (Devolverá el nombre de un archivo si se le asigna un nombre de archivo). Esta es una forma sólida de mostrar el contenido de un directorio, pero no da ninguna indicación de si cada elemento de la lista es un archivo o directorio. El otro método es FTP.dir()
, que proporciona una lista con formato de cadena del contenido del directorio del directorio dado como argumento (o de los atributos del archivo, dado un nombre de archivo).Determinar si una lista es un directorio o archivo en Python a través de FTP
De acuerdo con a previous question on Stack Overflow, el análisis de los resultados de dir()
puede ser frágil (diferentes servidores pueden devolver diferentes cadenas). Sin embargo, estoy buscando una forma de enumerar solo los directorios contenidos en otro directorio a través de FTP. Que yo sepa, el raspado de un d
en la parte de permisos de la cadena es la única solución que he encontrado, pero supongo que no puedo garantizar que los permisos aparezcan en el mismo lugar entre los diferentes servidores. ¿Existe una solución más sólida para identificar directorios a través de FTP?