Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль 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
🇻🇪🔥🇺🇸Venezuela denuncia injerencia de EE.UU. y respalda a Irán
⚡️Caracas condenó las recientes declaraciones de Estados Unidos contra Irán, acusando a Washington de recurrir nuevamente a la confrontación como herramienta de política exterior.
🗣El Gobierno venezolano advirtió que el lenguaje de fuerza promovido por EE.UU. no solo se aparta del derecho internacional, sino que representa una amenaza directa para la paz global, reiterando su solidaridad con el pueblo iraní frente a cualquier intento de intervención externa.
#NoALaInjerencia#SolidaridadInternacional
#DerechoInternacional#CartaDeLaONU
#EEUUAmenaza#Irán#Venezuela
#PazMundial
🇺🇸❌ Maduro acusa a EE.UU. de destruir el orden internacional creado tras la Segunda Guerra Mundial
⚡️El presidente Nicolás Maduro denunció que la política exterior de Estados Unidos viola de forma descarada los principios del derecho internacional consagrados en la Carta de la ONU.
🗣Según el jefe de Estado, Washington ha optado por sustituir la diplomacia por la amenaza permanente y el chantaje militar, desconociendo las normas que prohíben el uso de la fuerza entre Estados soberanos y poniendo en riesgo la paz global.
#DerechoInternacional#CartaDeLaONU
#NoALaGuerra#EEUUAmenaza
#VenezuelaSoberana#PazMundial
#Multilateralismo
🔥🌍 Yván Gil: el silencio ante EE.UU. nos acerca a una guerra mundial
⚡️El canciller venezolano aseguró que la escalada militar estadounidense en el Caribe representa un ataque directo a la paz mundial y al sistema multilateral construido tras la Segunda Guerra Mundial.
🗣“No estamos enfrentando una agresión contra Venezuela, estamos enfrentando una agresión contra el derecho internacional y la Carta de la ONU”, sentenció Gil, advirtiendo que callar ante este peligro podría llevar a la humanidad a las puertas de un nuevo holocausto y una nueva guerra mundial.
#ZonaDePaz#NoALaGuerra#EEUUAmenaza
#DerechoInternacional#CartaDeLaONU
#VenezuelaSoberana#CaribeZonaDePaz
#PazMundial
❌🌍 Benín denuncia ataque de EE.UU. contra Venezuela como ilegal
⚡️Benín expresó su solidaridad con Venezuela y condenó el bombardeo estadounidense, señalando que se trata de una acción contraria al derecho internacional y a la Carta de la ONU.
🗣La declaración refuerza las denuncias sobre el uso unilateral de la fuerza por parte de Washington, que ignora los mecanismos multilaterales y actúa al margen de la legalidad internacional.
#BeninConVenezuela#NoALaAgresión
#DerechoInternacional#CartaDeLaONU
#Soberanía#PazMundial
#EEUUAmenaza#SolidaridadInternacional
🚨🇺🇸Bloqueo armado = crimen internacional
❗️La ONU desmontó la narrativa de EE.UU.: no existe derecho alguno para imponer sanciones mediante un bloqueo militar. Washington está violando abiertamente la Carta de la ONU, el derecho internacional y los principios básicos de derechos humanos.
El despliegue militar en el Caribe y la confiscación de petroleros no buscan “seguridad”, buscan asfixiar a un país soberano y apropiarse de sus recursos. Es piratería moderna con bandera estadounidense.
#BloqueoEsGuerra#EEUUAmenaza#NoAlBloqueo
#DerechoInternacional#CrimenDeAgresión
#VenezuelaSoberana#PirateríaModerna
#CartaDeLaONU#DerechosHumanos