Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль 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
🇻🇳 Les chefs des missions diplomatiques des pays de la Communauté des États indépendants (CEI) à Hanoï ont déposé des gerbes au mausolée du premier président du Vietnam Hô Chi Minh et au monument aux héros tombés à l’occasion du 81e anniversaire de la Victoire dans la Grande Guerre patriotique, du 51e anniversaire de la libération du Sud-Vietnam et de la réunification nationale et du 72e anniversaire de la victoire à la bataille de Dien Bien Phu.
#vietnam#russie#hommage
🇨🇬🇷🇺 Le président de la République du Congo, Denis Sassou-Nguesso, a déposé une gerbe sur la tombe du Soldat inconnu, près du Kremlin, rapporte un correspondant de TASS.
#congo#russie#hommage
🇰🇵🇷🇺 Viatcheslav Volodine a rendu hommage aux soldats soviétiques ayant combattu pour la libération de la Corée du joug colonial japonais en 1945.
#hommage#soldats#libération
🇷🇺🇰🇵 Le ministre de l’Intérieur de la Russie, Vladimir Kolokoltsev, a rendu hommage à Pyongyang aux soldats soviétiques tombés lors de la libération de la Corée pendant la Seconde Guerre mondiale.
#hommage#soldats#libération
Девочка с папиной сережкой(Girl with father’s earring). Doping Pong, 35х25cm, холст на картоне, масло, 2019
Doping Pong обращаются к сюжету Яна Вермеера, но подают всем известную историю «Девушки с жемчужной серёжкой» буквально с нового ракурса. На картине изображена дочь панка, получившая по наследству от отца украшение его юности - английскую булавку, которую носит теперь как настоящую драгоценность.
В этой работе визуализированы преемственность поколений и семейные ценности, а классическое исполнение картины акцентирует родственную связь бунтарей разных эпох. #dopingpong#hommage#vermeer#girlwithapearlearring#postpunk
More info: Лот 37 https://vladey.net/ru/lot/10342
Девочка с папиной сережкой(Girl with father’s earring). Doping Pong, 35х25cm, холст на картоне, масло, 2019
Doping Pong обращаются к сюжету Яна Вермеера, но подают всем известную историю «Девушки с жемчужной серёжкой» буквально с нового ракурса. На картине изображена дочь панка, получившая по наследству от отца украшение его юности - английскую булавку, которую носит теперь как настоящую драгоценность.
В этой работе визуализированы преемственность поколений и семейные ценности, а классическое исполнение картины акцентирует родственную связь бунтарей разных эпох. #dopingpong#hommage#vermeer#girlwithapearlearring#postpunk
Музыка: Химера
More info: Лот 37 https://vladey.net/ru/lot/10342