Commit Diff


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