commit 24197d5ddefa63ddcabd607d7b5da23a1f9e25fb from: Aleksey Ryndin date: Mon Sep 16 15:45:33 2024 UTC Add /gemlog/python3.11-tools.gmi commit - eff4b1c9e488561f70d19ce729bdb949787f020e commit + 24197d5ddefa63ddcabd607d7b5da23a1f9e25fb blob - /dev/null blob + a1fa140f6091cb3ddb3f1d51f3607d0194c2a474 (mode 644) --- /dev/null +++ capsule/gemlog/python3.11-tools.gmi @@ -0,0 +1,38 @@ +# Утилиты, встроенные в Python + +На машинах, где я работаю над чем-либо в подавляющем большинстве случаев уже установлен третий пайтон. А вместе с интерпретатором устанавливаются и модули стандартной библиотеки, некоторые из которых могут работать, как самостоятельные утилиты. Я, например, давно уже пользуюсь модулем http.server для переброса файлов между машинами одной сети или json.tool для человеко-читаемого отображения json-данных. + +Вот я и решил погрепать стандартные модули Python 3.11 на предмет встроенных полезных утилит. + +## Модуль base64 + +Недокументированная (на текущий момент) возможность запуска модуля base64 для [рас-]кодирования данных в формате Base64: +``` +$ python -m base64 -h +option -h not recognized +usage: /usr/lib/python2.7/base64.py [-d|-e|-u|-t] [file|-] + -d, -u: decode + -e: encode (default) + -t: encode and decode string 'Aladdin:open sesame' +``` + +Утилита оперирует переданным файлом, значение - переключает на работу со стандартным потоком ввода. Пример: + +``` +$ echo "Aladdin:open sesame" | python -m base64 - +QWxhZGRpbjpvcGVuIHNlc2FtZQo= +$ echo QWxhZGRpbjpvcGVuIHNlc2FtZQo= | python -m base64 -d - +Aladdin:open sesame +``` + +## Модуль calendar + +Работа модуля calendar в режиме утилиты хорошо документирована: +=> https://docs.python.org/3/library/calendar.html + +Утилита выводит календарь в формате простого текста или HTML. + +## Модуль cProfile + +Модуль поддержки профилирования исполнения Python-кода. Работа модуля хорошо документирована: +=> https://docs.python.org/3/library/profile.html