Как выполнить сброс (или сброс) и повторное использование экземпляра hashlib.md5 в python? Если я выполняю несколько операций хэширования в скрипте, кажется, неэффективно использовать новый экземпляр hashlib.md5 каждый раз, но из документации python я не вижу никакого способа сбросить или сбросить экземпляр.Как повторно использовать экземпляр hashlib.md5
ответ
Почему, по вашему мнению, неэффективно создавать новый? Это небольшой объект, и объекты все время создаются и уничтожаются. Используйте новый, и не беспокойтесь об этом.
Есть и другие причины, кроме скорости повторного использования объекта hashlib. Например, вы можете получить объект hashlib (который может быть md5, sha1, ...) и хотите повторно использовать его для создания контрольной суммы нескольких файлов. В этом случае можно было бы передать лямбду, которая будет создавать новый объект хешлиба при вызове, но это громоздко. –
Вот что я сделал, просто напишите небольшую обертку, которая повторно инициализирует хэш-объект. Обрабатывает неряшливость написания кода, но, возможно, не эффективность во время выполнения.
def Hasher(object):
def __init__(self):
self.md5 = hashlib.md5()
def get_hash(self, o):
self.md5.update(o)
my_hash = self.md5.digest()
self.md5 = hashlib.md5()
return my_hash
ha, это не повторное использование объекта. Я думаю, что в этом api нет метода 'reset', так что его нельзя повторно использовать ?, или есть ли значение, которое вы можете передать методу' update' для сброса объекта? – Gubatron
- 1. Как повторно использовать экземпляр класса подключения?
- 2. как повторно использовать экземпляр эффекта на jquery
- 3. python hashlib.md5 escape-символы
- 4. Как повторно использовать org.restlet.resource.ClientResource
- 5. Как я могу повторно использовать экземпляр веб-службы?
- 6. Как разрешить Widget PendingIntend повторно использовать существующий экземпляр MainActivity?
- 7. Как повторно использовать экземпляр процесса с несколькими разными экземплярами ProcessStartInfo?
- 8. Как повторно использовать представления SAPUI5?
- 9. Как повторно использовать ViewController
- 10. Как повторно использовать event.preventDefault?
- 11. Как «повторно использовать» поток?
- 12. Как повторно использовать HierarchicalDataTemplate?
- 13. Как повторно использовать переменную
- 14. Как повторно использовать ostringstream?
- 15. Как повторно использовать drawable
- 16. Как повторно использовать поведение?
- 17. Как повторно использовать UITableViewCells
- 18. Как повторно использовать свойства
- 19. Как повторно использовать атрибут
- 20. Как повторно использовать функцию?
- 21. jQueryFileTree Как очистить экземпляр, повторно установить новый экземпляр или обновить
- 22. Как сбросить экземпляр Packery и повторно инициализировать
- 23. Замок Виндзор повторно создайте экземпляр
- 24. Можно ли повторно использовать экземпляр UserTransaction после commit()?
- 25. Laravel - Могу ли я повторно использовать экземпляр валидатора в контроллере?
- 26. Можно ли хранить экземпляр Исключения и повторно использовать его?
- 27. Можно ли повторно использовать экземпляр Spring MVC View?
- 28. Должен ли я повторно использовать экземпляр Realm DB?
- 29. Повторно использовать подписчика
- 30. Как повторно использовать проверку модели вне контроллера?
Контрольный балл в следующий раз, прежде чем предполагать, что создание крошечного объекта «неэффективно». –