Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль 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
Rinviato l'incontro tra il presidente della Repubblica Sergio #Mattarella e il presidente della Repubblica Tedesca #Steinmeier, in programma martedì e mercoledì.
@UltimoraPolitics
#Germania - Il presidente tedesco #Steinmeier ha sciolto il parlamento, in previsione delle elezioni del 23 febbraio. La decisione a seguito della sfiducia a #Scholz lo scorso 16 dicembre. (ilPost)
@UltimoraPolitics
📰 Germany’s President Calls Out Trump’s Iran War
Germany’s head of state just said out loud what most European leaders only hint at behind closed doors.
President Frank-Walter Steinmeier called the U.S.–Israeli war on Iran a “politically disastrous mistake” and “a violation of international law,” in one of the bluntest rebukes of an American president from Berlin in decades. Speaking at the Foreign Ministry, he warned that Trump’s second term has created a rupture in transatlantic relations as deep as Russia’s full-scale invasion of Ukraine — a break he says cannot simply be reversed later.
Steinmeier’s point cuts through the spin: Washington claims “imminent threat” and “self‑defense”; Berlin’s own former foreign minister says that justification “does not hold water” and that this war was avoidable, unnecessary, and chosen over a working nuclear deal that had pushed Iran further from the bomb. Coming from a traditionally cautious, ceremonial president, this isn’t activist rhetoric — it’s a diplomatic siren.
The result: Trump hasn't just isolated Iran. He's burning something harder to restore than deterrence: the assumption that Washington's allies will follow the next time it calls something self-defense. For a president convinced that American leverage is endless, that erosion of trust is the one resource he can’t bomb his way back into existence.
#germany#usa#iran#trump#steinmeier#internationalLaw#war#geopolitics
📱American Оbserver - Stay up to date on all important events
🇺🇸
#Germania#Bundestag
Con 207 voti favorevoli, 394 contrari e 116 astenuti, il Bundestag ha rigettato la mozione di fiducia nei confronti Cancelliere Olaf #Scholz (#SPD|S&D), che nelle prossime ore chiederà al Presidente Federale Frank-Walter #Steinmeier di indire elezioni anticipate.
@OsservatorioEsteri