Category Archives: python

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-616ab0c8b2c12094353161/] Нашли, PID 96070.Завершаем. [crayon-616ab0c8b2c1c178024269/] ...

Перерасход памяти и использование memoryview python

При работе с массивами байтов (большими данными) в python возникает проблема перерасхода памяти при разделении, а после отправки/копировании, как делать не стоит 1) классический пример с отправкой данных через сокет [crayon-616ab0c8b2f4b261076253/] 2) классический...

debug celery worker в PyCharm

Отладка celery worker в PyCharm вещь нужная, полезная и удобная. 1) в Edit Configuration добавляем новую конфигурацию Python 2) в поле Script path указываем путь до celery 3) в поле Parameters параметры для запуска, в моем случае сам worker и имя очереди orders_worker - имя...

Python неоднозначное время

При переводе часов на зимнее время возникают случаи неоднозначного времени: один и тот же час может встречаться дважды. Например, в Берлине переход с летнего времени на зимнее в 2020 году пройдет 25 октября 2020 года в 3 часа ночи (Oct 25 at 3:00 am), и после перехода часы снова будут...

csv reader iterator should return strings, not bytes (did you open the file in text mode?) python3

Был код на python2.7 для получения данных из csv файла который отлично работал, csv файл представлял собой список с числовыми id, разделенными переносом строк: [crayon-616ab0c8b39eb644315953/] После перехода на python3.6 начала падать ошибка: iterator should return strings, not bytes (did...