Python dispone di un modulo libreria standard ftplib
per eseguire comunicazioni FTP. Ha due modi per ottenere un elenco di contenuti di directory. Uno, FTP.nlst()
, restituirà un elenco dei contenuti di una directory che fornisce un nome di directory come argomento. (Verrà invece restituito il nome di un file se viene fornito un nome file.) Questo è un modo efficace per elencare il contenuto di una directory ma non fornisce alcuna indicazione sul fatto che ciascun elemento nell'elenco sia un file o una directory. L'altro metodo è FTP.dir()
, che fornisce una lista formattata a stringa del contenuto della directory della directory fornita come argomento (o degli attributi del file, dato un nome di file).Determina se un elenco è una directory o un file in Python su FTP
Secondo a previous question on Stack Overflow, l'analisi dei risultati di dir()
può essere fragile (diversi server possono restituire stringhe diverse). Sto cercando un modo per elencare solo le directory contenute in un'altra directory tramite FTP, però. Per quanto ne so, raschiare per un d
nella parte delle autorizzazioni della stringa è l'unica soluzione che ho trovato, ma suppongo che non posso garantire che le autorizzazioni appariranno nello stesso posto tra diversi server. C'è una soluzione più robusta per identificare le directory su FTP?