Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль 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 militaires du groupement de troupes #Centre continuent de perfectionner leurs compétences sur le terrain d'entraînement situé à l’arrière-front de l'opération militaire spéciale.
RT en français • Osez questionner !
⚪️Les militaires du groupement de troupes #Centre ont pris le contrôle d’un point de commandement de drones ukrainiens dans le secteur de Dobropolié dans la zone de l'opération militaire spéciale.
RT en français • Osez questionner !
🟢Les militaires du groupement de troupes #Centre ont détruit les antennes relais de communication ukrainiennes dans le secteur de Dobropolié.
RT en français • Osez questionner !
📍 Les militaires du groupement de troupes #Centre continuent de perfectionner leurs compétences sur le terrain d'entraînement situé à l’arrière-front de l'opération militaire spéciale.
RT en français • Osez questionner !
▶️Les militaires du groupement de troupes #Centre de l'armée russe continuent la restauration des monuments dédiés aux héros de la Grande Guerre patriotique dans la République populaire de #Donetsk.
RT en français • Osez questionner !
▶️Les militaires du groupement de troupes #Centre de l'armée russe continuent la restauration des monuments dédiés aux héros de la Grande Guerre patriotique dans la République populaire de #Donetsk.
RT en français • Osez questionner !
🇬🇫 Le pas de tir pour les lanceurs Soyouz, situé au centre spatial de Kourou en Guyane française, a été détruit à l’aide d’une explosion contrôlée. Cette information a été publiée sur la page Techniques Spatiales sur X.
#guyane#centre#explosion#destruction