Category Archives: python

sqlalchemy увеличить счетчик через выражение

Есть таблица 'user' с полем-счетчиком 'counter', которое необходимо изменять в запросе от текущего значения. Например, увеличивать. UPDATE user SET counter = counter + 1 Что бы получить такое выражение, достаточно обращаться к объекту-столбцу через 'c' и класс таблицы. ...

AttributeError: module ‘queue’ has no attribute ‘SimpleQueue’

Упражняясь в прекрасном Async IO с использование python3.7 из ниоткуда взялось: AttributeError: module 'queue' has no attribute 'SimpleQueue' Если у вас возникает эта ошибка, то первым делом убедитесь, что версия python >= 3.7, тк была эта фича добавлена в

python комбинации из элементов итерируемых объектов product itertools

Когда необходимо получить все комбинации из элементов итерируемых объектов (декартово произведения), проще всего воспользоваться инструментов itertools.product, который является эквивалентом вложенных for циклов (где крайний правый элемент смещается при каждой...

Использование inspect.getcallargs() в декораторах python

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

Простое дефолтное значение для collections.defaultdict python

В python collections есть удобный инструмент defaultdict, похожий на обычный dict, но с дефолтными значениями для несуществующих ключей: class collections.defaultdict([default_factory[, ...]]) default_factory - то значение, которое будет использовано по умолчанию (идет None из...

Классика жанра OSError: [Errno 48] Address already in use

Бывает запустили какой-то процесс и забыли, а потом другой надо запустить и тут: OSError: [Errno 48] Address already in use. Простое решение, найти процесс и остановить, ищем grepом по процессам: [crayon-65f9327e9d111300954603/] Нашли, PID 96070.Завершаем. [crayon-65f9327e9d11b125988613/] ...