Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль 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
#Cile🇨🇱
#Parlamentari
#CameradeiDeputati
Risultati parziali.Seggi.
Voti scrutinati: 99,6%.
🟥 Unità per il Cile (#UpCh|Sinistra): 61
🟦 Cambiamento per il Cile (#CpCh; comprende #PRCh|Estrema destra ultraconservatrice, #PSC|Estrema destra ultraconservatrice, #PNL|Estrema destra libertaria): 42
🟦 Cile Grande e Unito (#ChGU|Destra liberal-conservatrice): 34
⬛ Partito della Gente (#PDG|Destra populista): 14
Altri: 4
@TuttoElezioni
#Cile🇨🇱
#Presidenziali
Risultati finali.
Voti scrutinati: 100%.
Affluenza: 85,26%.
🟥 Jeannette #Jara (#UpCh|Sinistra): 26,8%
🟦 José Antonio #Kast (#PRCh|Estrema destra ultraconservatrice): 23,9%
⬛️ Franco #Parisi (#PDG|Destra populista): 19,7%
🟧 Johannes #Kaiser (#PNL|Estrema destra libertaria): 13,9%
🟦 Evelyn #Matthei (#ChGU|Destra liberal-conservatrice): 12,5%
⬜️ Harold #MayneNicholls (Ind.): 1,3%
❗️Necessario un turno di ballottaggio tra Jeannette Jara e José Antonio Kast.
@TuttoElezioni
#Elezioni#Cile#Presidenziali
Risultati definitivi:
Jeannette #Jara (#PCCh|Sinistra): 26,85%
José Antonio #Kast (#PLR|Estrema destra pinochetista): 23,92%
Franco #Parisi (#PDG|Centro-destra populista antisistema): 19,71%
Johannes #Kaiser (#PNL|Estrema destra libertaria): 13,94%
Evelyn #Matthei (#UDI|Destra): 12,46%
Harold #MayneNicholls: 1,26%
Marco "ME-O" #EnríquezOminami (supp. #PH|Sinistra umanista): 1,2%
Eduardo #Artés: 0,66%
Jeannette Jara e José Antonio Kast avanzano al secondo turno.
In foto, la mappa del voto.
@OsservatorioEsteri