У меня проблемы с получением списка каталогов на удаленном FTP-сайте. Этот ответ не работает (я не получаю вывод, кажется, что он зависает).
Вот самая простая реализация, о которой я могу подумать - он должен просто распечатать полный путь каждого каталога, в котором он находится.находки:
import ftplib
def ftp_walk(ftp):
print 'Path:', ftp.pwd()
dirs = ftp.nlst()
for item in (path for path in dirs if path not in ('.', '..')):
try:
ftp.cwd(item)
print 'Changed to', ftp.pwd()
ftp_walk(ftp)
ftp.cwd('..')
except Exception, e:
print item, e
ftp = ftplib.FTP('ftp.site.com')
ftp.login('user', 'pass')
ftp.cwd('1')
ftp_walk(ftp)
Моя структура каталогов:
1/
1-1/
1-2/
1-2/
1-3/
1-4
Однако выводит только следующее.Предполагается, что рабочий каталог один раз изменяется на новый подкаталог, но при вызове ftp_walk () с новым cwd он не идет дальше:
> Path: 1/
> Changed to 1-1/