Найти - Пользователи
Полная версия: Копирование файлов с сохранением структуры
Начало » Python для новичков » Копирование файлов с сохранением структуры
1
drm
Нужно скопировать файлы с фтп в соответствии с заданными расширениями. Причем не просто скопировать, а повторить исходную структуру каталогов, то есть если расположение файла: Каталог1 -> Каталог2 -> Файл1, то и скопированный файл должен находится в Каталог1 -> Каталог2. Нашёл на форуме пример, но там показано как скопировать файлы без сохранения структуры.
slivlen
Надо рекурсивно обойти все директории на фтп и создать аналогичные на локальной машине и скопировать туда соответствующие файлы с фтп. Глянь примеры, думаю они помогут:
http://code.activestate.com/recipes/275594/
http://code.activestate.com/recipes/436211/

P.S. Плюс ко всему в исходниках Питона есть Tools/scripts/ftpmirror.py - это как раз то что тебе надо =)
Ed
Посмотрите вот этот аналог os.walk для ftp: http://code.activestate.com/recipes/499334/
Вот работающий пример:
import ftplib

session = ftplib.FTP()
session.connect('ftp.debian.org')
session.login()

for entry in ftpwalk(session, '/debian'):
print entry
bw
Ed, ftplib.ftpwalk?

..bw
slivlen
bw
Ed, ftplib.ftpwalk?
ftpwalk - это ф-ция из рецепта по ссылке =)
drm
Пытаюсь разобраться с ftpmirror.py
if mode[0] == 'd':
if verbose > 1:
print 'Remembering subdirectory', repr(filename)
subdirs.append(filename)
continue
Что означает сей фрагмен, не могу понять назначение слова continue в данном контексте.
shiza
drm
наверное где-то выше был цикл?
igor.kaist
Еще есть ftputil, замечательный модуль, который без труда можно найти. Он позволяет обращаться к фтп так же как к локальной файловой системе. функция walk уж точно там есть
drm
slivlen
P.S. Плюс ко всему в исходниках Питона есть Tools/scripts/ftpmirror.py - это как раз то что тебе надо
Спасибо, разобрался - действительно, это то что нужно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB