LINUX.ORG.RU

[python2] Переименование файлов


0

1

Здравствуйте. Есть набор исходных файлов с данными, файлы сохраняются оператором под произвольным именем и передаются на последующую обработку. В дальнейшем с помощью скриптов на python из файлов удаляется ненужная для обработки информация, содержание файлов приводится к единому виду, файлы переименовываются к виду «названиематериала_датаизмерения» и перемещаются в каталог «названиематериала».

Вопрос: Как в python организовать перемещение так, чтобы имеющиеся в каталоге «названиематериала» файлы при совпадении имен не перезаписывались.

сравнивай дерево текущей папки с деревом папки куда собираешься копировать и если есть совпадения - исключай из списка. Потом просто идешь по списку и копируешь нужные файлы.

P.S. быть может быдлокод. не знаю) Я б так сделал) С другой стороны, можно сразу перед копированием каждого файла сравнивать есть ли он в целевой директории. Зависит от целей.

P.P.S. shutil

chinarulezzz ★★
()
Ответ на: комментарий от alienclaster

В принципе, файлов за день набирается не много (обычно 1 - 4, в любом случае не более 10), файлы создаются на разных машинах (все под windows), обработка идет на машине с ubuntu, дата измерения берется как наименьшее из времени создания файла и времени модификации.

mick-kzn
() автор топика
Ответ на: комментарий от AIv

В общем, это вариант. Изначально предполагалось, что дата создания в формате ГГГГ_ММ_ДД_ЧЧ_ММ и будет такой уникальной меткой, только когда приносят исходные файлы, созданные в разное время, то после копирования с машины на машину они имеют одинаковое с точностью до секунды время создания/модификации, извлекаемое при помощи os.stat().

В общем, я хотел найти функцию python обладающую поведением, подобным команде mv -n

mick-kzn
() автор топика
Ответ на: комментарий от mick-kzn

Я аналогичную задачу (складирование данных числ. моделирования) решил так - под каждый расчет заводится директория c именем вида cYYYY_WW_DXXX где YYYY год, WW номер недели в году, D номер дня недели, XXX уникальный номер расчета в дне (с нуля). Это удобней для ввода из командной строки, ГГГГ_ММ_ДД_ЧЧ_ММ вводить замучаешься. Потом часы на разных машинах идут с небольшими отличиями, так что оно не обеспеивает упорядочивания

AIv ★★★★★
()
Ответ на: комментарий от AIv

Спасибо за идею с именованием директорий, пожалуй, применю ее к наименованию файлов.

mick-kzn
() автор топика

А почему не использовать вариант принятый при сохранении файлов с совпадающими именами в браузерах? Добавлять (1)....(n) к имени копируемого файла, если <name>(1)...(n-1) уже существуют.

alienclaster ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.