Python: как сжать строку текста

Для того, чтобы уменьшить объем длинной текстовой строки, например для снижения трафика при передаче текстовых данных через Интернет, ее можно сжать перед отправкой и разархивировать после получения. При этом объем передаваемых данных значительно снижается, по сравнению с передачей текстовых строк в их исходном виде.

Чтобы заархивировать текстовую строку в памяти, воспользуемся модулем zlib.

Для сжатия строки мы будем использовать функцию compress. Эта функция принимает во входном параметре строку байт и возвращает эту строку в сжатом виде.

Как видно на простейшем примере, объем строки сократился более чем в полтора раза.

Читать далее «Python: как сжать строку текста»

Как добавить вызов программы в контекстное меню Windows Explorer

Для того, чтобы добавить вызов программы в контекстное меню Windows Explorer — «Мой компьютер», нужно отредактировать реестр windows.

Редактор реестра windows нужно вызвать с правами администратора и внести в него следующие изменения:

Читать далее «Как добавить вызов программы в контекстное меню Windows Explorer»

Виджет для Elementor: кнопка «показать E-mail»

Виджет для WordPress плагина Elementor. Позволяет скрыть адрес вашей электронной почты под кнопкой и не показывать его на странице в явном виде, чтобы предотвратить его сбор ботами и пауками для спама.

Buy on Gumroad

 

Читать далее «Виджет для Elementor: кнопка «показать E-mail»»

Python: Как получить первый найденный в списке элемент

Чтобы получить первый найденный по определенному условию элемент из списка или None, если ни одного такого элемента не найдено, можно использовать следующую конструкцию:

Если результат в списке не найден, будет возвращено None

 

Как задать дефолтные настройки GIMP

Некоторые параметры  в GIMP можно задать используя файл с настройками «по умолчанию» gimprc.

Читать далее «Как задать дефолтные настройки GIMP»

Как создать директорию с текущей датой в Total Commander

Для того, чтобы быстро и удобно создавать директории с именем состоящим из текущей даты средствами Total Commander:

  1. Создадим cmd-скрипт, создающий директорию с нужным именем:

В первой строчке скрипта формируется имя для директории в формате YYYY.MM.DD.

Вторая строчка скрипта создает директорию с указанным именем по пути, переданном во входящем параметре %1.

Читать далее «Как создать директорию с текущей датой в Total Commander»

Как узнать текущую версию Python?

Для того, чтобы узнать, какая версия интерпретатора Python используется для выполнения кода, можно воспользоваться командой version_info из модуля sys:

В текущем примере используется версия Python 3.5.2.

Автоматическое создание точек восстановления Windows по расписанию

Создание точек восстановления Windows — хороший способ помочь в восстановлении своего компьютера в случае возникновения каких-либо неприятностей вроде заражения вирусами или рекламными ботами.

Точка восстановления — это слепок системы, в котором фиксируется ее текущее состояние (настройки, оформление, установленные программы). Создав и сохранив такую точку, можно в любой момент вернуть систему к зафиксированному в ней состоянию.

Если вы случайно открыли какое-нибудь подозрительное вложение в почте, и теперь то и дело на экране появляются рекламные баннеры (в систему установился рекламный бот) — с помощью точек восстановления можно вернуть систему «в прошлое», до момента заражения ботом. Точки восстановления — не панацея абсолютно от всех неприятностей, но очень часто «откат» системы спасает положение и возвращает компьютер в рабочее состояние.

Читать далее «Автоматическое создание точек восстановления Windows по расписанию»

Python: Как получить список классов из модуля (*.py — файла)

Список классов, определенных в *.py — файле можно получить с помощью встроенного модуля inspect.

Например для модуля test_cls:

можно получить список классов следующим образом:

 

PHP: Как сохранить HTML в DOC

При разработке онлайн-проектов часто возникает необходимость сохранить html-страничку в виде документа, который можно использовать отдельно, например, отправить по электронной почте, просматривать и редактировать оффлайн. Удобным способом сохранения html таким образом является экспорт в один из наиболее часто используемых текстовых форматов — doc.

Для экспорта html документа в формат doc можно воспользоваться открытым бесплатным php-модулем «html_to_doc». С его помощью можно сохранить html в документ doc, который будет корректно обработан текстовым редактором MS Word. Если в html-страничке присутствуют изображения, они будут встроены в документ doc.

PHP-модуль можно скачать по адресу https://github.com/Korchy/html_to_doc

Читать далее «PHP: Как сохранить HTML в DOC»

Python: Как пройти по элементам списка попарно от текущего к следующему

Если имеется список вида:

Для того, чтобы пройти по элементам списка попарно от текущего к следующему, можно использовать такой код:

Результат выполнения:

 

Python: Как передать список аргументов в функцию, принимающую переменное число аргументов

Некоторые функции принимают в параметрах переменное число аргументов *args, как например функция перебора вариантов itertools.product.

Для того, чтобы передать в такую функцию параметры одним списком, нужно использовать оператор *

 

Python: Как преобразовать строку со смешанными диапазонами чисел в список

Преобразование смешанной строки, в которой заданы, как отдельные числа, так и диапазоны чисел, в полный список значений можно сделать следующим образом:

Пусть имеется исходная строка

Разобьем строку по разделителю — запятым:

Разделим получившийся список на два списка. В первый список поместим только отдельные значения. Во второй — значения преобразованные из диапазонов чисел.

Объединим полученные списки в один и выкинем повторяющиеся значения.

Полный код преобразования:

 

PHP: Как получить полное имя класса с учетом статического наследования

PHP поддерживает механизм позднего статического связывания. Полное имя класса с учетом статического наследования можно получить с помощью вызова функции:

На примере:

 

Python: как сделать сдвиг значений в списке

Для того, чтобы сделать сдвиг значений в списке — переставить значение стоящее на первом месте списка в его конец и наоборот, нужно переформатировать список по двум срезам.

Сдвиг для списка lst:

сдвиг вперед:

сдвиг назад:

При необходимости циклического сдвига, данную команду следует повторить нужное число раз.

Как узнать версию linux Debian

Чтобы узнать установленную на сервере версию linux Debian нужно в командной строке набрать:

Ответ linux будет следующим:

Python: Как сохранить словарь (dict) с объектами в json

Для того, чтобы объекты из словаря сохранялись в json в удобном для просмотра виде, каждый класс объекта должен иметь функцию __repr__, возвращающую текстовое представление объекта.

Пример словаря с объектами:

Сохранение словаря с объектами в json:

 

Python: как добавить кортеж в кортеж

Кортежи в python могут быть вложенными.

Если просто добавить один кортеж к другому через операцию конкатенации «+», python сольет значения кортежей:

Для того, чтобы добавляемый кортеж стал вложенным, нужно после добавляемого кортежа поставить запятую «,»

 

Python: Как найти центр многоугольника

Получение координат центральной точки выпуклого многоугольника (полигона), так называемого «центроида», если известны координаты его точек (вершин):

Входным параметром в функцию подается кортеж с координатами точек многоугольника. Функция возвращает кортеж с координатами центроида:

 

Что нужно, чтобы начать работать с Git и GitHub

Системы управления и контроля версий на сегодня практически обязательны для любого проекта. Одной из известнейших и наиболее популярных систем управления версиями является Git. Рассмотрим работу с Git в связке с GitHub — крупнейшим хостингом для размещения IT-проектов совместной разработки. GitHub позволяет бесплатно размещать на своем сервере проекты с открытым исходным кодом.

В данном примере рассматривается работа с Git на операционной системе Windows.

Что же нужно, для того, чтобы начать практическую работу с Git:

  1. Скачать дистрибутив Git для windows:
  2. Провести установку Git на компьютер пользователя
    1. все опции в процессе инсталляции можно оставить в значениях «по умолчанию»

Читать далее «Что нужно, чтобы начать работать с Git и GitHub»

Счетчик цикла for в Python не имеет локальной области видимости

Одной из особенностей циклов for в Python является то, что итерируемая переменная (счетчик) не относится к локальной области видимости цикла.

Например, после исполнения следущего участка кода:

Переменная a, объявленная до цикла for, изменит свое значение, если в качестве счетчика цикла объявить переменную с таким же именем «a».

При построении кода об этой особенности нужно обязательно помнить, во избежание записи в ранее объявленную переменную значений итераторов цикла for.

Получение времени выполнения участка кода на PHP

Для того, чтобы замерить, сколько времени уходит на выполнение участка кода, нужно заключать проверяемый код в следующую конструкцию:

Результат выполнения примера — вывод на экран:

Выполнено за: 8.9997079372406 сек.

 

Как создавать символические ссылки с помощью Total Commander

Символические ссылки в Windows, начиная с версии Vista, создаются с помощью команды mklink.

Для того, чтобы сделать в Total Commander кнопку, создающую символическую ссылку на выделенный файл, нужно выполнить следующие шаги:

  1. В удобном месте, например в подкаталоге плагинов c:\TotalCommander\Plugins\ создать командный файл mklink.cmd со следующим содержанием:

Эта команда создает символическую ссылку на файл, переданный в первом входном параметре, и размещает ее в месте, переданном во втором входном параметре.

  1. Перетащить этот файл на панель Total Commander, создав тем самым для него вызывающую кнопку.
  2. Нажать на ней правой кнопкой мышки и выбрать «Изменить…»
    1. В поле «Параметры» указать:

Сохранить изменения.

%P — путь к файлу под курсором в активной панели

%N — имя файла под курсором в активной панели

%T — путь к месту, открытому во второй (неактивной) панели

В результате по нажатию созданной кнопки во второй вкладке будет создаваться символическая ссылка на файл под курсором в активной вкладке с таким же именем файла.

Python — многострочное комментирование в PyCharm

В языке Python не предусмотрено внутреннего синтаксиса для многострочного комментирования кода (наподобие /* … */ в других языках). Есть два варианта обхода этой проблемы:

  1. Использовать в качестве комментариев синтаксис многострочного литерала: ′′′

Минут данного метода в том, что подобный комментарий остается строковой константой и встраивается в конечный код.

  1. Если для написания кода используется IDE PyCharm можно выделить несколько строк и нажать комбинацию клавиш: Ctrl + /

Для снятия комментария со строк, нужно нажать ту же самую комбинацию клавиш на выделенных закомментированных строчках повторно.

Плагин к WordPress TinyMCE Advanced Editor — установка начального значения нумерованного списка

Небольшая доработка плагина к WordPress TinyMCE Advanced Editor. Дополнительная кнопка по клику позволяющая задавать начальное значение для нумерованного списка.
Собственно добавляет атрибут start = N к тегу OL.

Пример использования плагина
Пример использования плагина

Читать далее «Плагин к WordPress TinyMCE Advanced Editor — установка начального значения нумерованного списка»