Найти - Пользователи
Полная версия: Скрипт сравнивающий директории и копирующий файлы
Начало » Центр помощи » Скрипт сравнивающий директории и копирующий файлы
1
madhast
В общем задача такая. Есть папка источник(src), с подпапками и папка назначения(dest). В каталоге dest могут лежать фалы с такими же названиями как и в каталогах src, но с более старой датой изменения, или их может вообще не быть. Задача - обновить устаревшие файлы и добавить отсутствующие файлы в каталог dest. Но есть нюанс. Допустим src выглядит так:

/src/
/dir1
/file1.*
/file2.*
…….
/fileN.*
/dir2
/file1.*
/file2.*
…….
/fileN.*

а каталог dest так:

/desr/
/dir1
/file1.*
/file2.*
…….
/fileN.*

Нюанс заключается в следующем - скопированы должны быть только содержимое каталога src/dir1 в dest/dir1 с заменой устаревших и копированием отсутствующих файлов. А каталог src/dir2 не должен копироваться.

Уважаемые форумчане, есть у кого-нить какие-нить идеи или советы как это лучше реализовать? Может литературу посоветуете.
doza_and
такой функционал есть по умолчанию если вы используете git,cvs,svn,bazar…
http://ru.wikipedia.org/wiki/Git
http://ru.wikipedia.org/wiki/Svn
правда не везде получится избавиться от накопления истории изменений.
такой функционал реализует практически любой архиватор 7z,rar,….в режиме update архива (те если не очень много данных и вы не очень спешите то просто несколько вызовов subprocess.call те паковка образца нулевым сжатием, обновление архива, распаковка)
если приспичило писать самостоятельно - то glob, os.stat os.path.exists os.copy
madhast
Системы контроля версий для моей задачи это все равно что заказывать чартерный рейс чтобы на дачу слетать в 10 км от города. Архивы тоже не подходят, т.к. очень важна скорость. За ссылки спасибо.
madhast
А есть ссылки на толковое разъяснение работы этих модулей glob, os.stat os.path.exists os.copy?
regall
http://www.doughellmann.com/PyMOTW/file_access.html - замечательное разъяснение всего, что вам надо. Плюс рекомендую все-таки поглядеть в сторону shutils (по ссылке тоже есть).
madhast
А на русском ничего подобного нет?
PooH
А rsync не подходит?
madhast
К сожалению нет, скрит пишется для windows системы.
PooH
madhast
К сожалению нет, скрит пишется для windows системы.
Так есть порт http://www.itefix.no/i2/node/10650
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