Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль 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
#Italia
#Volt|G/EFA annuncia la sua partecipazione alle primarie della coalizione progressista: “Ci saremo per cambiare le regole del gioco. Serve una squadra, non leader soli al comando”.
Volt ha inoltre annunciato l’inizio di un percorso di ascolto sul territorio, per incidere sul programma di coalizione, mettendo al centro la crisi abitativa, la transizione energetica e azioni per ridurre la precarietà.
Tra le proposte anche quella di modificare il sistema di voto delle primarie, introducendo il voto supplementare (dove l’elettore indica una prima e una seconda scelta per garantire una convergenza immediata sul candidato più condiviso) o il sistema del STV.
@OsservatorioItaliano
#Italia
Nota #Volt|G/EFA: "Riteniamo uno squallido teatrino l'intervista di #Lavrov a Zona Bianca, su Rete4. Il fatto che venga permesso al ministro degli esteri russo di divulgare la propaganda russa in prima serata è squalificante per l'intero giornalismo televisivo italiano."
@UltimoraPolitics
#Italia
Gianluca #Guerra (#Volt|G/EFA): "Ius Scholae salta da calendario della Camera per colpa della Lega che ancora una volta si dimostra capace di raggiungere risultati solo quando si devono negare diritti civili e umani. È anche chiaro che questa maggioranza non potrà mai portare progresso sociale."
@UltimoraPolitics
#Italia#UE
Gianluca #Guerra (#Volt|G/EFA): "Con le dimissioni di Fabrice Leggeri, forse finalmente capiremo che c'è qualcosa che non va con Frontex e si inizierà ad agire.
Pushback illegali, mancata trasparenza sugli atti, procedure forzate. Tutto questo giocando con la vita di migliaia di esseri umani."
@UltimoraPolitics
#UE
Francesca Romana #DAntuono, copresidente #Volt|G/EFA: "Vogliamo creare una rivoluzione nel Parlamento Europeo: 25 membri di Volt da almeno 7 paesi invaderanno il Parlamento. Persone di ogni genere, etnia, origine, orientamento sessuale, disabilità o background sociale: insieme aggiusteremo l'UE."
@UltimoraPolitics
#UE
Francesca Romana #DAntuono, copresidente #Volt|G/EFA: "Putin ha invaso l'Ucraina, uccidendo civili innocenti e commettendo indimenticabili crimini contro l'umanità. Non staremo a guardare l'invasione."
@UltimoraPolitics
#UE#Ucraina
🇺🇦 Mykhaylo #Pobigay (#Volt|G/EFA): "L'Unione Europea ha bisogno di più integrazione, di nuovi membri e di un esercito europeo."
@UltimoraPolitics