Как наиболее эффективно отслеживать уникальные загруженные файлы в программе Python? - PullRequest
1 голос
/ 28 марта 2012

Это не столько конкретная проблема, сколько то, на что я ищу больше философского ответа "Pythonic".А именно, каков наилучший способ отслеживать уникальные элементы и не допускать появления дубликатов?

Например, я пишу сценарий для очистки веб-сайта для ссылок на песни в SoundCloud, чтобы я мог автоматически загружать их,Если я хочу автоматизировать эту программу, скажем, с помощью cron, какой самый эффективный способ обеспечить загрузку только того содержимого, которого у меня уже нет?

Или, если я загружал изображения, как я могубедитесь, что нет никаких дубликатов, или есть какой-то процесс, который эффективно ищет и удаляет дубликаты?

Вид с открытым исходным кодом, поэтому вносите столько, сколько хотите.

Спасибо.

1 Ответ

2 голосов
/ 28 марта 2012

Используйте диктовку или сет. Рассмотрите возможность вычисления контрольной суммы каждого элемента. Это приводит вас к тому, что известно как Content Addressable Storage, где контрольная сумма фактически хранится, как если бы это было «имя» элемента, и хранится отдельный индекс, который отображает такие вещи, как имена файлов или имена песен, на контрольные суммы или блоки данных. Проблема с подходом CAS в вашем конкретном случае заключается в том, что вы не сможете получить контрольную сумму, вычисленную на удаленной стороне для нового контента - именно так программы, такие как rsync, избегают копирования дублирующих данных.

...