Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль 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
Planning to make full use of the Vaccinated Travel Lanes this holiday season, or heading for a staycation?
Don’t forget to go through the ‘Check and Protect’ checklist for a thorough #MozzieWipeout of your home before you head off! https://go.gov.sg/dengue-checklist
Sudden rain showers are common in Singapore, so if you leave your pails or plant pots where they can collect water, do pay extra attention and drain these containers if they have collected any water.
Here’s a checklist for a thorough #MozzieWipeout: https://go.gov.sg/dengue-checklist
Have you emptied out your flower pot plates after watering your plants today? These plates tend to collect water, and can become mosquito breeding habitats if left unattended. Be sure to add emptying out the flower pot plates to your “To-do List” after watering your plants! Here’s a checklist for a thorough #MozzieWipeout: https://go.gov.sg/dengue-checklist
The annual National Dengue Prevention Campaign was launched today, to rally everyone to take urgent action to prevent mosquito breeding and a possible surge in dengue cases, amidst the continued high Aedes aegypti mosquito population, and higher circulation of less common Dengue virus serotypes.
The fight against dengue involves all of us. Let’s step up dengue prevention by doing the #MozzieWipeout regularly. go.gov.sg/mozzieproof
Planning a staycation with your SingapoRediscover vouchers? Keep yourself and your loved ones safe by going through the ‘Check and Protect’ checklist for a thorough #MozzieWipeout before your stay! https://go.gov.sg/dengue-checklist
Staying home during this COVID-19 period has brought out the green thumb in many of us. And yet, with interest comes responsibility, too! Set a daily reminder to keep your plants nourished and your home protected from dengue too: https://go.gov.sg/dengue-checklist#MozzieWipeout
The gully traps in our homes are perfect for mosquito multiplication! Cover rarely used gully traps or install anti-mosquito valves, to prevent mosquito breeding. Here’s a ‘Check and Protect’ checklist for your thorough #MozzieWipeout today: https://go.gov.sg/dengue-checklist
Do you know where are the favourite places for mosquitoes to lay their eggs?
Pails, flower pot plates/trays and ornamental vases are some of the persistent mosquito breeding habitats in homes. It’s time to search for and destroy these breeding habitats! If you’re not sure how, get started here: https://go.gov.sg/dengue-checklist#MozzieWipeout
The number of weekly dengue cases has declined by more than 50% from its peak this year. However, a 12% increase in the Aedes aegypti mosquito population was detected in the last 3 weeks.
So let’s not let our guard down; continue doing the #MozzieWipeout at least once a week and taking protective actions (go.gov.sg/stopdenguenow). You can also get regular alerts on areas with higher Aedes mosquito population and dengue clusters on myENV app (www.nea.gov.sg/myENV) with this step-by-step guide!
Think it’s impossible for mosquito eggs to hatch in your dish tray, mere inches away from your cups and plates? It certainly isn’t. All mosquitoes need is a 20 cent-sized drop of water to breed. Time to do a thorough check in your house! #MozzieWipeouthttps://go.gov.sg/dengue-checklist
Besides doing the #MozzieWipeout, take these 3 simple actions to protect yourself and your loved ones, especially if you live in a dengue cluster area: Spray, Apply, Wear. More tips here: www.nea.gov.sg/stop-dengue