Python ma standardowy moduł biblioteczny ftplib
do uruchamiania komunikacji FTP. Ma dwa sposoby na uzyskanie listy zawartości katalogu. Jeden, FTP.nlst()
, zwróci listę zawartości katalogu z nazwą katalogu jako argumentem. (Zwróci nazwę pliku, jeśli zostanie podana zamiast niego nazwa pliku.) Jest to niezawodny sposób wyświetlania zawartości katalogu, ale nie daje żadnego wskazania, czy każdy element na liście jest plikiem lub katalogiem. Druga metoda to FTP.dir()
, która podaje sformatowany ciąg zawartości katalogu w katalogu podanym jako argument (lub atrybutów pliku, z podaniem nazwy pliku).Ustal, czy listing jest katalogiem lub plikiem w Pythonie za pośrednictwem FTP
Według a previous question on Stack Overflow parsowanie wyników dir()
może być niestabilne (różne serwery mogą zwracać różne ciągi). Poszukuję sposobu na wylistowanie tylko katalogów znajdujących się w innym katalogu za pośrednictwem FTP. Zgodnie z moją wiedzą, skrobanie dla d
w części dotyczącej uprawnień jest jedynym rozwiązaniem, które wymyśliłem, ale nie mogę zagwarantować, że uprawnienia pojawią się w tym samym miejscu między różnymi serwerami. Czy istnieje bardziej niezawodne rozwiązanie do identyfikowania katalogów przez FTP?