Использование python для перемещения нескольких файлов и удаления дубликатов - PullRequest
0 голосов
/ 19 июня 2020

Есть ли какие-нибудь библиотеки / модули, которые я должен использовать для этого, кроме ОС? Я новичок.

У меня есть несколько каталогов, которые содержат резервные копии многих файлов («организованных» в хаотичную c смесь множества каталогов и файлов). Некоторые файлы уникальны, но большинство файлов - дубликаты. Некоторые файлы уже есть на моем жестком диске, но не все.

Я хочу собрать все уникальные файлы из резервных копий. Если у меня уже есть эти файлы (имя такое же, тип файла - имя, размер файла такой же), то я могу удалить файл резервной копии. Если у меня еще нет файла резервной копии, я хочу переместить его на свой жесткий диск. В конце концов, я уничтожу резервные копии, и на моем жестком диске будет по одной копии каждого файла без дубликатов.


Вот пример:

My Hard Drive contains the following files: [apple, banana, pear]
Backup A contains the following files: [apple, pear, peach, tomato, carrot]
Backup B contains the following files: [apple, banana, pear, peach, tomato, carrot, potato]
Backup C contains the following files: [apple, banana, pear, peach, tomato, carrot, potato, celery]

В В приведенном выше примере моя программа сначала скопировала персик, помидор и морковь из резервной копии A на мой жесткий диск, а затем удаляла резервную копию A. Затем она скопировала картофель со второго жесткого диска и удалила резервную копию B. Затем она скопировала сельдерей из Сделайте резервную копию C и удалите резервную копию C.

1 Ответ

1 голос
/ 19 июня 2020

Я думаю, что лучше всего было бы просмотреть документацию от go до Python и посетить:

  1. os модуль

  2. os.path модуль

  3. shutil модуль

Эти три должны быть достаточными для всех файловых операций, которые я вижу в Вашем вопросе. Но остерегайтесь деструктивного характера кода, который Вы напишете, поскольку любой вид сниппета может испортить Ваши файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...