Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль code.
Как это может пригодиться?
🔸 Вам не хватает pdb и хочется больше "власти"
🔸 Нужно запросить у юзера данные в достаточно сложном виде. В этом случае можно попросить его создать что ему надо и сохранить в определённую переменную, с которой потом и работать.
🔸 Нужна изолированная среда для выполнения каких-либо действий.
🔸 Просто забавы ради😁
Запускается консоль очень просто
import code
ic = code.InteractiveConsole()
try:
ic.interact()
except SystemExit:
pass
Выход обратно на предыдущий уровень происходит как обычно, вызов функции exit() или клавиши Ctrl+D(Ctrl+Z для Windows).
Я набросал простой пример с некоторым функционалом
🔹 Меняются символы приглашения
🔹 В неймспейсы добавляются дополнительные объекты
🔹 Считается время, проведённое в интерактивном режиме
🔹 Скрипт просит юзера заполнить переменную и по выходу распечатывает её значение
Код здесь ↗️
Для запуска сохраните код в файл и запускайте как обычный скрипт.
python my_console.py
Для быстрого запуска можно сделать отдельный алиас
alias py="python3 /home/username/my_console.py"
#tricks#source
🇷🇺:Работа специалистов Сил специальных операций, военнослужащих ФСВНГ и спецназа ВДВ в зоне проведения спецоперации, 2022 год.
Работа по пехоте противника и технике из засад, также на видео захват ЗКП ВСУ в Киевской области.
—————————————
🇬🇧:Operations of Special Operations Forces specialists, Rosgvardia (FSVNG) servicemen and Airborne Forces (VDV) special forces in the zone of the special military operation, 2022.
Work on enemy infantry and equipment from ambushes, also footage of capturing a Ukrainian Armed Forces (AFU) forward command post in the Kyiv region.
#всупотери#AFoUlosses
#киевскоенаправление#Kyivdirection
—————————————
@WarUAPravda
🇷🇺
Сожжённая техника ВСУ в Киеве на улице Интернациональной. Скорее всего является результатом дружеского огня.
#потеривсу#киев#киевскоенаправление#потери
🇬🇧
Burned Ukrainian Armed Forces equipment on Internatsionalna Street in Kyiv.
Most likely the result of friendly fire in Kyiv during the first days of the War.
#lossesinua#Kyiv#Kyivdirection#losses
@WarUAPravda
🇷🇺
Подбитая/Брошенная/Уничтоженная бронетехника ВС РФ под селом Русанов на киевском направлении
На фото : 2 Захваченых БМП-2, 5 Подбитых/Уничтоженных БМП-2,3 Т-72Б3, 1 МТ-ЛБ
🇬🇧
Damaged/Abandoned/Destroyed Russian Armed Forces armored vehicles near the village of Rusanov on the Kyiv front.
Pictured: 2 captured BMP-2s, 5 damaged/destroyed BMP-2s, 3 T-72B3s, 1 MT-LB
#потеривсрф#киевскоенаправление#бронетехника#трофеи#всрф
#srflosses#kyivdirection#armoredvehicles#trophies#vsrf
@WarUAPravda