Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль 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
🪐 Far away in the constellation Pegasus, the exoplanet HD 209458b—nicknamed "Osiris"—boils under such intense heat from its star that its atmosphere is literally being blown away into space. Powerful ultraviolet radiation strips gases from the planet, creating a long, glowing tail of material that stretches behind it like a giant comet, showing how extreme conditions can rewrite the rules for how planets survive. ✨
#exoplanets⚡#extremes⚡#atmospheres⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 The exoplanet WASP-19b, located about 815 light-years away in the constellation Vela, orbits its star so closely that a year lasts less than 19 hours and daytime temperatures exceed 2,000°C—hot enough to break molecules apart. Studies with the Hubble Space Telescope have revealed its atmosphere contains titanium oxide, a compound rarely found in planetary atmospheres, which acts like sunscreen by absorbing stellar radiation and heating the upper atmosphere to even greater extremes. ✨
#exoplanets⚡#extremes⚡#atmospheres⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 The exoplanet GJ 436b, orbiting a star 33 light-years away in Leo, is a world of extremes—its atmosphere is so hot, over 800°C, that its water vapor is stripped away by intense radiation, creating a huge, comet-like tail of gas trailing behind it. This ghostly plume stretches for millions of kilometers, revealing just how dramatically a star’s energy can reshape planets beyond our solar system. ✨
#exoplanets⚡#extremes⚡#atmospheres⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
🪐 The giant planet HD 189733b, located about 64 light-years away in the constellation Vulpecula, is famous for having blue clouds made of molten glass that whip through its atmosphere at wind speeds over 7,000 kilometers per hour. Unlike Earth's gentle blue sky, the blue color of HD 189733b comes from silicate particles that scatter blue light, creating a world where glass rain falls sideways in scorching, stormy gales. ✨
#exoplanets⚡#giantplanets⚡#atmospheres⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 The James Webb Space Telescope has detected carbon dioxide on the exoplanet HD 189733b, a giant world 64 light-years away in the constellation Vulpecula. This is the first time carbon dioxide—a common gas on Earth—has been firmly identified in the atmosphere of an exoplanet, using Webb’s powerful infrared instruments to reveal details about the planet’s chemistry and hint at how its formation differs from giant planets in our own solar system. ✨
#webb⚡#exoplanet⚡#atmospheres⚡#discoveries⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels